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

#!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 实现求解字符串集的最长公共前缀方法相关推荐

  1. 国家广电总局:常规电视剧剧集正片时长不少于41分钟

    1月27日消息,近日,国家广播电视总局发布了<电视剧母版制作规范>(以下简称<规范>),作为中华人民共和国广播电视和网络视听推荐性行业标准,自2022年4月1日起施行. < ...

  2. 20190501-编写一个函数来查找字符串数组中的最长公共前缀。如果不存在公共前缀,返回空字符串...

    题目描述 编写一个函数来查找字符串数组中的最长公共前缀. 如果不存在公共前缀,返回空字符串 "". 示例 1: 输入: ["flower","flow ...

  3. LeetCode4_编写一个函数来查找字符串数组中的最长公共前缀。 如果不存在公共前缀,返回空字符串 ““。(解决方案:横向扫描、 纵向扫描 、分治 二分查找 、秀儿操作之排序比较头尾)

    题目 编写一个函数来查找字符串数组中的最长公共前缀. 如果不存在公共前缀,返回空字符串 "". 示例 1: 输入: ["flower","flow&q ...

  4. 数组字符串那些经典算法:最大子序列和,最长递增子序列,最长公共子串,最长公共子序列,字符串编辑距离,最长不重复子串,最长回文子串 (转)...

    作者:寒小阳 时间:2013年9月. 出处:http://blog.csdn.net/han_xiaoyang/article/details/11969497. 声明:版权所有,转载请注明出处,谢谢 ...

  5. 最长公共子序列算法 java_转【算法之动态规划(三)】动态规划算法之:最长公共子序列 最长公共子串(LCS)字符串相似度算法...

    1.先科普下最长公共子序列 & 最长公共子串的区别: 找两个字符串的最长公共子串,这个子串要求在原字符串中是连续的.而最长公共子序列则并不要求连续. 2.最长公共子串 其实这是一个序贯决策问题 ...

  6. python输入多个字符串、输入最长的一串_无重复字符的最长子串(Python之暴力求解)...

    无重复字符的最长子串(Python之暴力求解) 例题: 给定一个字符串,请你找出其中不含有重复字符的 最长子串 的长度. 示例: (1) 输入: "abcabcbb" 输出: 3 ...

  7. python-求两个字符串的连续最长公共子串

    python-求两个字符串的连续最长公共子串 题目 思路 Code 题目 最长公共子串(LCS,Longest Common Substring) 思考: s1 = 'abcdefg' s2 = 'd ...

  8. KMP算法及next数组(最大公共前后缀)求解

    KMP算法及next数组(最大公共前后缀)求解 2020.12.14理解: 1. KMP算法 网上关于KMP算法讲解较为简单易懂,因此在此只作简述: 在字符串s中匹配字符串t: S: ABE-AB-A ...

  9. java最长回文子序列_算法--字符串:最长回文子序列

    转自:labuladong公众号 子序列问题是常见的算法问题,而且并不好解决. 首先,子序列问题本身就相对子串.子数组更困难一些,因为前者是不连续的序列,而后两者是连续的,就算穷举都不容易,更别说求解 ...

最新文章

  1. Linux服务器网络开发模型
  2. leetcode第一刷_Combinations
  3. 使用Maven Jetty插件
  4. 从入门到入土:[SEED-Lab]-SQL注入攻击|SQL Injection Attack Lab|详细说明|实验步骤|实验截图
  5. @程序员,技术债你还清了吗?
  6. Linux编程,vim/vi环境
  7. 双线服务器托管因时代的发展产生的优势
  8. Unity Remote5 使用
  9. 机器学习作业之波士顿房价(boston)数据分析与绘图(注释我都写了这么多,我不信你还看不懂?)
  10. 腾讯云服务器的简单使用
  11. Android 中的 NDK 到底是什么?(详细解析+案例实战)
  12. 虚拟机中的Linux系统如何联网?
  13. Redis(上)基础及8种数据类型
  14. #论文笔记#【MRM-Lasso:A sparse Multiview Feature Selection Method Via Low-Rank Analysis】论文笔记
  15. 3ds max材质库操作
  16. 蓝桥杯 DFS经典题 —— 算式900、寒假作业(告别枚举法)
  17. 数学建模系列-评价模型(一)---模糊综合评价法
  18. json数组字符串转list集合
  19. OMS 3.4.0 发布,打造更安全易用的数据迁移体验
  20. php 导出csv逗号换行,PHP生成导出CSV之内部换行PHP_EOL

热门文章

  1. 使用java语言操作,如何来实现MySQL中Blob字段的存取
  2. 国际开源固件基金会 (OSFF)组织
  3. Jakarta EE 9 企业版本合规性
  4. Java 机器学习库 Tribuo
  5. uniapp手写地图搜索选取功能
  6. python3字典值重复统计_如何从字典列表中获取值-python 3.7.1[重复]
  7. altium pcb 信号高亮_作为PCB工程师,你需要了解这几个设计指南
  8. PowerDesigner设置code和name不联动的方法
  9. ES6学习笔记(对象新增方法)
  10. Spring Boot mybatis HashMap +layui 通用分页