欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

python 實(shí)現(xiàn)求解字符串集的最長(zhǎng)公共前綴方法

 更新時(shí)間:2018年07月20日 09:37:23   作者:Together_CZ  
今天小編就為大家分享一篇python 實(shí)現(xiàn)求解字符串集的最長(zhǎng)公共前綴方法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧

問(wèn)題比較簡(jiǎn)單,給定一個(gè)字符串集合求解其中最長(zhǎng)的公共前綴即可,這樣的問(wèn)題有點(diǎn)類似于最長(zhǎng)公共子序列的問(wèn)題,但是比求解最長(zhǎng)最長(zhǎng)公共子序列簡(jiǎn)單很多,因?yàn)槭枪睬熬Y,這樣的話只需要挨個(gè)遍歷即可,只要遍歷長(zhǎng)度結(jié)束或者結(jié)束前發(fā)現(xiàn)有不相同的即可終止,返回不同位置之前的子序列即可,下面是具體的實(shí)現(xiàn):

#!usr/bin/env python
#encoding:utf-8
 
'''
__Author__:沂水寒城
功能:求解字符串集的最長(zhǎng)公共前綴
'''
 
def find_longest_prefix(str_list):
 '''
 求解字符串集的最長(zhǎng)公共前綴
 '''
 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)

結(jié)果如下:

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

以上這篇python 實(shí)現(xiàn)求解字符串集的最長(zhǎng)公共前綴方法就是小編分享給大家的全部?jī)?nèi)容了,希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。

相關(guān)文章

最新評(píng)論