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

  介绍

这篇文章给大家分享的是有关python怎么实现求解字符串集的最长公共前缀方法的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。

python主要应用领域有哪些

1,云计算,典型应用OpenStack.2,网前端开发,众多大型网站均为python开发。3。人工智能应用,基于大数据分析和深度学习而发展出来的人工智能本质上已经无法离开python.4,系统运维工程项目,自动化运维的标配就是python + Django/flask.5,金融理财分析,量化交易,金融分析。6,大数据分析。

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

# !/usr/bin env  python   utf - 8编码:   ,   & # 39;& # 39;& # 39;   __Author__:沂水寒城   功能:求解字符串集的最长公共前缀   & # 39;& # 39;& # 39;   ,   def  find_longest_prefix (str_list):   ,& # 39;& # 39;& # 39;   ,求解字符串集的最长公共前缀   ,& # 39;& # 39;& # 39;   ,str_list.sort (lambda  x, y: cmp (len (x), len (y)))   ,shortest_str=str_list [0]   print  str_list   ,max_prefix=len (shortest_str)   国旗=0   ,for 小姐:拷贝范围(max_prefix):   for 才能;one_str  str_list:拷贝   ,,if  one_str[我]!=shortest_str[我]:   ,,,return  shortest_str[我]   ,才能打破   return  shortest_str   ,   ,   if  __name__ ==, & # 39; __main__ # 39;:   ,str_list1=[& # 39;六边形abcdef # 39; & # 39; abcdekljjh& # 39;, & # 39; abcdelopqwe& # 39;, & # 39; abcdj& # 39;】   ,str_list2=[& # 39;六边形abcdef # 39; & # 39; abcdekljjh& # 39;, & # 39; abcdelopqwe& # 39;, & # 39;中的# 39;】   ,print  & # 39; str_list1——→& # 39;, find_longest_prefix (str_list1)   ,print  & # 39; str_list2——→& # 39;, find_longest_prefix (str_list2)

<强>结果如下:

str_list1——→, [& # 39; abcdj& # 39;,, & # 39;六边形abcdef # 39;,, & # 39; abcdekljjh& # 39;,, & # 39; abcdelopqwe& # 39;】   abcd   str_list2——→,[& # 39;中的# 39;,,& # 39;六边形abcdef # 39;,, & # 39; abcdekljjh& # 39;,, & # 39; abcdelopqwe& # 39;】   中的   [Finished 拷贝0.3 s]

感谢各位的阅读!关于“python怎么实现求解字符串集的最长公共前缀方法”这篇文章就分享到这里了,希望以上内容可以对大家有一定的帮助,让大家可以学到更多知识,如果觉得文章不错,可以把它分享出去让更多的人看到吧!

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