寻找最小term,自制面试题
#!/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,自制面试题相关推荐
- 程序员编程艺术:第三章、寻找最小的k个数
程序员编程艺术:第三章.寻找最小的k个数 作者:July. 时间:二零一一年四月二十八日. 致谢:litaoye, strugglever,yansha,luuillu,Sorehead,及狂想曲创作 ...
- 微软编程题:寻找最小的k个值
转载自:http://blog.csdn.net/v_JULY_v/article/details/6370650 寻找最小的k个数 题目描述:5.查找最小的k个元素 题目:输入n个整数,输出其中最小 ...
- 海量数据中,寻找最小的k个数。
维护k个元素的最大堆,即用容量为k的最大堆存储最小的k个数,k1设为大顶堆中最大元素.遍历一次数列,n,每次遍历一个元素x,与堆顶元素比 较,x<kmax,更新堆,否则不更新堆. 1 // 海量 ...
- 在二维数组中寻找最小鞍点1181(该行最大值,该列最小值)(2种思路)
题目描述 找出一个2维数组矩阵的鞍点,即该位置上的元素在该行中最大,在该列中最小,可能不存在鞍点,如果存在多个,输出最小的那个! 输入要求 输入 n,m表示二维矩阵的行数和列数,然后根据行列数输入n* ...
- 寻找最小可行化产品背后的真理
一个成功的开始 \ 同其他99%的产品经理一样,我是通过Eric Ries的<精益创业>这本书了解到MVP(最小可行化产品)这个概念的.当我偶然发现这本书以及Eric的方法时,我想:&qu ...
- 在下列用户中什么管理计算机的权限最小,计算机网络管理员考试试题和答案
计算机网络管理员考试试题和答案 一.单项选择题(每题1分,共40分) 1.Dos系统以( )为单位给磁盘文件分配磁盘空间. ( D ) A.二进制位 B.字节 C.扇区 D.簇 2.用Windows ...
- 在下列用户中什么管理计算机的权限最小,计算机管理员考试试题和答案
计算机网络管理员考试试题和答案 一.单项选择题(每题1分,共40分) 1.Dos系统以( )为单位给磁盘文件分配磁盘空间. ( D ) A.二进制位 B.字节 C.扇区 D.簇 2.用Windows ...
- Java实现寻找最小的k个数
1 问题描述 有n个整数,请找出其中最小的k个数,要求时间复杂度尽可能低. 2 解决方案 2.1 全部排序法 先对这n个整数进行快速排序,在依次输出前k个数. package com.liuzhen. ...
- MATLAB寻找最小矩形区域
对于一个倾斜的矩形或不规则单连通域,找出其最小矩形,并将其旋转到X,Y坐标系平行位置.如:将 下图蓝色矩形区范围内的黑色区域旋转至,蓝色矩形的边平行于X,Y坐标系. 代码1 图像以固定的步幅进行旋转, ...
- c语言从4个整数中找最小的数,编程之法:面试和算法心得(寻找最小的k个数)...
内容全部来自编程之法:面试和算法心得一书,实现是自己写的使用的是java 题目描述 输入n个整数,输出其中最小的k个. 分析与解法 解法一 要求一个序列中最小的k个数,按照惯有的思维方式,则是先对这个 ...
最新文章
- 信息安全 数据赛 铁人三项_2018信息安全铁人三项数据赛题解
- 正则表达式的字符、说明和其简单应用示例
- Android之在BaseAdapter源码中了解观察者模式
- C1之路 | 备考C1
- https加密解密过程详解
- 零基础,最完整的WordPress建站教程
- SE43自定义sap菜单
- php扩展实现hook,ThinkPHP3.2 扩展(钩子,HOOK)
- HDU4292-Food-网络流
- Maven 加载ojdbc14.jar报错,解决方法
- mysql 原生 添加数据_手撸Mysql原生语句--增删改查
- 占空比50%的奇数分频
- Kibana未授权访问漏洞记录(CVE-2019-7609,Kibana的RCE,原型链污染,端口:5601)
- 【EXLIBRIS】纸版书目整理 -- 小书架 下/床头柜/书箱 【100 种】【108 册】
- java模拟浏览器http请求_java使用HttpClient模拟浏览器请求
- iOS14 UIDatePicker的变化
- ubuntu 8.10 可用的源
- Android开发的经典入门教材和学习路线
- 关于epub格式电子书和PC上的ePub阅读器...
- 使用WSS的Lists.UpdateListItems()方法之被截断的CAML
热门文章
- python-numpy.vectorize()
- linux下c 上传图片到mysql_Linux下C连接MySql数据库
- 位移的单位符号_,(有符号位移)和(无符号位移)的使用方法,及差别
- cmake错误:Could not find a package configuration file provided by 的一种解决方法
- css中如何实现导航栏横向,css横向导航栏
- h5跳转小程序页面url_小程序和h5跳转
- git 拉取远程的dev分支到本地的dev分支,再跟本地的my分支合并
- L1-036 A乘以B (5 分)—团体程序设计天梯赛
- 模型参数选择方法——GridSearch网格搜索
- 机器学习算法总结(六)——EM算法与高斯混合模型