python 实现求解字符串集的最长公共前缀方法


Posted in Python onJuly 20, 2018

问题比较简单,给定一个字符串集合求解其中最长的公共前缀即可,这样的问题有点类似于最长公共子序列的问题,但是比求解最长最长公共子序列简单很多,因为是公共前缀,这样的话只需要挨个遍历即可,只要遍历长度结束或者结束前发现有不相同的即可终止,返回不同位置之前的子序列即可,下面是具体的实现:

#!usr/bin/env python
#encoding:utf-8
 
'''
__Author__:沂水寒城
功能:求解字符串集的最长公共前缀
'''
 
def find_longest_prefix(str_list):
 '''
 求解字符串集的最长公共前缀
 '''
 str_list.sort(lambda x,y:cmp(len(x),len(y)))
 shortest_str=str_list[0]
 print str_list
 max_prefix=len(shortest_str)
 flag=0
 for i in range(max_prefix):
  for one_str in str_list:
   if one_str[i]!=shortest_str[i]:
    return shortest_str[:i]
    break
 return shortest_str
 
 
if __name__ == '__main__':
 str_list1=['abcdef','abcdekljjh','abcdelopqwe','abcdj']
 str_list2=['abcdef','abcdekljjh','abcdelopqwe','abcde']
 print 'str_list1--->', find_longest_prefix(str_list1)
 print 'str_list2--->', find_longest_prefix(str_list2)

结果如下:

str_list1---> ['abcdj', 'abcdef', 'abcdekljjh', 'abcdelopqwe']
abcd
str_list2---> ['abcde', 'abcdef', 'abcdekljjh', 'abcdelopqwe']
abcde
[Finished in 0.3s]

以上这篇python 实现求解字符串集的最长公共前缀方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Python 相关文章推荐
比较详细Python正则表达式操作指南(re使用)
Sep 06 Python
Python的time模块中的常用方法整理
Jun 18 Python
Python简单计算文件夹大小的方法
Jul 14 Python
Python时间戳使用和相互转换详解
Dec 11 Python
python基础之包的导入和__init__.py的介绍
Jan 08 Python
Django ORM多对多查询方法(自定义第三张表&ManyToManyField)
Aug 09 Python
python实现证件照换底功能
Aug 20 Python
python读写Excel表格的实例代码(简单实用)
Dec 19 Python
pytorch AvgPool2d函数使用详解
Jan 03 Python
Python下划线5种含义代码实例解析
Jul 10 Python
Python实现自动装机功能案例分析
Oct 22 Python
selenium自动化测试入门实战
Dec 21 Python
python实现求两个字符串的最长公共子串方法
Jul 20 #Python
Django基础知识与基本应用入门教程
Jul 20 #Python
opencv python 2D直方图的示例代码
Jul 20 #Python
Linux下python制作名片示例
Jul 20 #Python
Python爬虫的两套解析方法和四种爬虫实现过程
Jul 20 #Python
使用python脚本实现查询火车票工具
Jul 19 #Python
Python 判断文件或目录是否存在的实例代码
Jul 19 #Python
You might like
Mysql中limit的用法方法详解与注意事项
2008/04/19 PHP
PHP Try-catch 语句使用技巧
2016/02/28 PHP
PHP抓取及分析网页的方法详解
2016/04/26 PHP
thinkPHP5框架实现基于ajax的分页功能示例
2018/06/12 PHP
jquery实现的超出屏幕时把固定层变为定位层的代码
2010/02/23 Javascript
javascript错误的认识不用关心内存管理
2012/12/15 Javascript
javascript新建标签,判断键盘输入,以及判断焦点(示例代码)
2013/11/25 Javascript
js 与 php 通过json数据进行通讯示例
2014/03/26 Javascript
jQuery简单几行代码实现tab切换
2015/03/10 Javascript
jQuery简单实现中间浮窗效果
2016/09/04 Javascript
jQuery实现导航高亮的方法【附demo源码下载】
2016/11/09 Javascript
fckeditor部署到weblogic出现xml无法读取及样式不能显示问题的解决方法
2017/03/24 Javascript
微信JSAPI Ticket接口签名详解
2020/06/28 Javascript
js实现图片轮播效果学习笔记
2017/07/26 Javascript
详解JavaScript的BUG和错误
2018/05/07 Javascript
iview实现select tree树形下拉框的示例代码
2018/12/21 Javascript
javascript操作元素的常见方法小结
2019/11/13 Javascript
[06:15]2016国际邀请赛中国区预选赛单车采访:我顶WINGS
2016/06/27 DOTA
Python中的jquery PyQuery库使用小结
2014/05/13 Python
Python基于回溯法子集树模板解决最佳作业调度问题示例
2017/09/08 Python
Tensorflow加载预训练模型和保存模型的实例
2018/07/27 Python
python实现指定字符串补全空格、前面填充0的方法
2018/11/16 Python
Python使用mongodb保存爬取豆瓣电影的数据过程解析
2019/08/14 Python
基于python实现操作redis及消息队列
2020/08/27 Python
html5 postMessage前端跨域并前端监听的方法示例
2018/11/01 HTML / CSS
工程概预算专业毕业生求职信
2013/10/04 职场文书
水电站项目建议书
2014/05/12 职场文书
2014年艾滋病防治工作总结
2014/12/10 职场文书
2015年乡镇发展党员工作总结
2015/03/31 职场文书
怒海潜将观后感
2015/06/11 职场文书
2015年法律事务部工作总结
2015/07/27 职场文书
《夸父追日》教学反思
2016/02/20 职场文书
话题作文之呼唤
2019/12/18 职场文书
SQL注入篇学习之盲注/宽字节注入
2022/03/03 MySQL
简单聊一聊SQL注入及防止SQL注入
2022/03/23 MySQL
Android实现获取短信验证码并自动填充
2023/05/21 Java/Android