您好,登錄后才能下訂單哦!
這篇文章給大家分享的是有關python怎么實現求解字符串集的最長公共前綴方法的內容。小編覺得挺實用的,因此分享給大家做個參考,一起跟隨小編過來看看吧。
1、云計算,典型應用OpenStack。2、WEB前端開發,眾多大型網站均為Python開發。3.人工智能應用,基于大數據分析和深度學習而發展出來的人工智能本質上已經無法離開python。4、系統運維工程項目,自動化運維的標配就是python+Django/flask。5、金融理財分析,量化交易,金融分析。6、大數據分析。
問題比較簡單,給定一個字符串集合求解其中最長的公共前綴即可,這樣的問題有點類似于最長公共子序列的問題,但是比求解最長最長公共子序列簡單很多,因為是公共前綴,這樣的話只需要挨個遍歷即可,只要遍歷長度結束或者結束前發現有不相同的即可終止,返回不同位置之前的子序列即可,下面是具體的實現:
#!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怎么實現求解字符串集的最長公共前綴方法”這篇文章就分享到這里了,希望以上內容可以對大家有一定的幫助,讓大家可以學到更多知識,如果覺得文章不錯,可以把它分享出去讓更多的人看到吧!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。