#!/usr/bin/env python
#encoding=utf-8
def unicode2str(input_str):
  """
  将unicode类型转换为str类型
  """
  if type(input_str)==type(u""):
    return input_str.encode("utf-8","ignore")
  return input_str

def str2unicode(str):
  """
  将str类型转换为unicode类型
  """
  if type(str)==type(u""):
    return str
  if type(str)==type(""):
    return str.decode("utf-8","ignore")
a=["AC|||B","ABE|||ACFD","AB|||AC","ABD|||ACD"]

def do(a):
    def cmp(x,y):
        if x.__len__()<y.__len__():
            return -1
        elif x.__len__()==y.__len__():
            return 0
        else:
            return 1

a.sort(cmp)
    print a
   
    abandom=set()

def _(a,b):
        #a,b need unicode
        #global abandom
        aa=str2unicode(a)
        bb=str2unicode(b)
        r=bb.__len__()-aa.__len__()
        print aa,bb
        if r>0 and r%2==0:
            laa,raa=aa.split("|||")
            lbb,rbb=bb.split("|||")
            if (laa in lbb) and (raa in rbb):
                print "===>",aa,bb
                idx=-1
                for time in range(0,lbb.count(laa)):
                    idx=lbb.find(laa,idx+1)
                    print lbb[:idx]+lbb[idx+len(laa):]
                    if lbb[:idx]+lbb[idx+len(laa):]==rbb[:idx]+rbb[idx+len(raa):]:
                        abandom.add(b)
        return a

if a.__len__<=1:
        return abandom
    for idx,elem in enumerate(a):
        if idx==(len(a)-1):break
        reduce(_,a[idx+1:],a[idx])
    return abandom

print do(a)

寻找最小term,自制面试题相关推荐

  1. 程序员编程艺术:第三章、寻找最小的k个数

    程序员编程艺术:第三章.寻找最小的k个数 作者:July. 时间:二零一一年四月二十八日. 致谢:litaoye, strugglever,yansha,luuillu,Sorehead,及狂想曲创作 ...

  2. 微软编程题:寻找最小的k个值

    转载自:http://blog.csdn.net/v_JULY_v/article/details/6370650 寻找最小的k个数 题目描述:5.查找最小的k个元素 题目:输入n个整数,输出其中最小 ...

  3. 海量数据中,寻找最小的k个数。

    维护k个元素的最大堆,即用容量为k的最大堆存储最小的k个数,k1设为大顶堆中最大元素.遍历一次数列,n,每次遍历一个元素x,与堆顶元素比 较,x<kmax,更新堆,否则不更新堆. 1 // 海量 ...

  4. 在二维数组中寻找最小鞍点1181(该行最大值,该列最小值)(2种思路)

    题目描述 找出一个2维数组矩阵的鞍点,即该位置上的元素在该行中最大,在该列中最小,可能不存在鞍点,如果存在多个,输出最小的那个! 输入要求 输入 n,m表示二维矩阵的行数和列数,然后根据行列数输入n* ...

  5. 寻找最小可行化产品背后的真理

    一个成功的开始 \ 同其他99%的产品经理一样,我是通过Eric Ries的<精益创业>这本书了解到MVP(最小可行化产品)这个概念的.当我偶然发现这本书以及Eric的方法时,我想:&qu ...

  6. 在下列用户中什么管理计算机的权限最小,计算机网络管理员考试试题和答案

    计算机网络管理员考试试题和答案 一.单项选择题(每题1分,共40分) 1.Dos系统以( )为单位给磁盘文件分配磁盘空间. ( D ) A.二进制位 B.字节 C.扇区 D.簇 2.用Windows ...

  7. 在下列用户中什么管理计算机的权限最小,计算机管理员考试试题和答案

    计算机网络管理员考试试题和答案 一.单项选择题(每题1分,共40分) 1.Dos系统以( )为单位给磁盘文件分配磁盘空间. ( D ) A.二进制位 B.字节 C.扇区 D.簇 2.用Windows ...

  8. Java实现寻找最小的k个数

    1 问题描述 有n个整数,请找出其中最小的k个数,要求时间复杂度尽可能低. 2 解决方案 2.1 全部排序法 先对这n个整数进行快速排序,在依次输出前k个数. package com.liuzhen. ...

  9. MATLAB寻找最小矩形区域

    对于一个倾斜的矩形或不规则单连通域,找出其最小矩形,并将其旋转到X,Y坐标系平行位置.如:将 下图蓝色矩形区范围内的黑色区域旋转至,蓝色矩形的边平行于X,Y坐标系. 代码1 图像以固定的步幅进行旋转, ...

  10. c语言从4个整数中找最小的数,编程之法:面试和算法心得(寻找最小的k个数)...

    内容全部来自编程之法:面试和算法心得一书,实现是自己写的使用的是java 题目描述 输入n个整数,输出其中最小的k个. 分析与解法 解法一 要求一个序列中最小的k个数,按照惯有的思维方式,则是先对这个 ...

最新文章

  1. 信息安全 数据赛 铁人三项_2018信息安全铁人三项数据赛题解
  2. 正则表达式的字符、说明和其简单应用示例
  3. Android之在BaseAdapter源码中了解观察者模式
  4. C1之路 | 备考C1
  5. https加密解密过程详解
  6. 零基础,最完整的WordPress建站教程
  7. SE43自定义sap菜单
  8. php扩展实现hook,ThinkPHP3.2 扩展(钩子,HOOK)
  9. HDU4292-Food-网络流
  10. Maven 加载ojdbc14.jar报错,解决方法
  11. mysql 原生 添加数据_手撸Mysql原生语句--增删改查
  12. 占空比50%的奇数分频
  13. Kibana未授权访问漏洞记录(CVE-2019-7609,Kibana的RCE,原型链污染,端口:5601)
  14. 【EXLIBRIS】纸版书目整理 -- 小书架 下/床头柜/书箱 【100 种】【108 册】
  15. java模拟浏览器http请求_java使用HttpClient模拟浏览器请求
  16. iOS14 UIDatePicker的变化
  17. ubuntu 8.10 可用的源
  18. Android开发的经典入门教材和学习路线
  19. 关于epub格式电子书和PC上的ePub阅读器...
  20. 使用WSS的Lists.UpdateListItems()方法之被截断的CAML

热门文章

  1. python-numpy.vectorize()
  2. linux下c 上传图片到mysql_Linux下C连接MySql数据库
  3. 位移的单位符号_,(有符号位移)和(无符号位移)的使用方法,及差别
  4. cmake错误:Could not find a package configuration file provided by 的一种解决方法
  5. css中如何实现导航栏横向,css横向导航栏
  6. h5跳转小程序页面url_小程序和h5跳转
  7. git 拉取远程的dev分支到本地的dev分支,再跟本地的my分支合并
  8. L1-036 A乘以B (5 分)—团体程序设计天梯赛
  9. 模型参数选择方法——GridSearch网格搜索
  10. 机器学习算法总结(六)——EM算法与高斯混合模型