python实现求解字符串集的最长公共前缀
来源:互联网 发布:加工中心仿真软件 编辑:程序博客网 时间:2024/06/06 02:36
问题比较简单,给定一个字符串集合求解其中最长的公共前缀即可,这样的问题有点类似于最长公共子序列的问题,但是比求解最长最长公共子序列简单很多,因为是公共前缀,这样的话只需要挨个遍历即可,只要遍历长度结束或者结束前发现有不相同的即可终止,返回不同位置之前的子序列即可,下面是具体的实现:
#!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_strif __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']abcdstr_list2---> ['abcde', 'abcdef', 'abcdekljjh', 'abcdelopqwe']abcde[Finished in 0.3s]
阅读全文
1 0
- python实现求解字符串集的最长公共前缀
- 字符串数组的最长公共前缀
- 14.一组字符串的最长公共前缀
- 寻找字符串的最长公共前缀
- 字符串数组最长公共前缀
- PHP实现一个函数查找字符串数组中最长的公共前缀字符串
- 查找字符串数组中最长的公共前缀字符串。
- Java实现-最长公共前缀
- python实现求两个字符串的最长公共子串
- 求两个字符串的最长公共子串 python实现
- LeetCode 找到一个字符串数组的最长公共前缀
- longest-common-prefix 求字符串数组的最长公共前缀
- leetcode--最长公共前缀--简单的字符串操作
- 算法#26--查找字符串数组中最长的公共前缀
- 算法6:返回一组字符串的最长公共前缀
- 寻找若干个字符串的最长公共前缀
- python实现求解最长公共子序列LCS问题
- 求解两个字符串的最长公共子串
- GPU编程自学5 —— 线程协作
- Java的位移运算符
- JAVA学习笔记(1)_区间内生成不重复的随机数
- 互斥锁
- SpringMVC工作原理详细介绍
- python实现求解字符串集的最长公共前缀
- git 不小心删除本地文件恢复
- Android应用程序activity启动流程简介
- bootstrap系列之七图片与辅助样式
- 分页查询接口常见设计思路
- 如何设置IE禁用代理服务器
- 堆排序
- JDBC方式访问数据库:
- excel设置单元格为正方形