這篇文章給大家分享的是有關(guān)python怎么實現(xiàn)求解字符串集的最長公共前綴方法的內(nèi)容。小編覺得挺實用的,因此分享給大家做個參考,一起跟隨小編過來看看吧。
1、云計算,典型應(yīng)用OpenStack。2、WEB前端開發(fā),眾多大型網(wǎng)站均為Python開發(fā)。3.人工智能應(yīng)用,基于大數(shù)據(jù)分析和深度學(xué)習(xí)而發(fā)展出來的人工智能本質(zhì)上已經(jīng)無法離開python。4、系統(tǒng)運(yùn)維工程項目,自動化運(yùn)維的標(biāo)配就是python+Django/flask。5、金融理財分析,量化交易,金融分析。6、大數(shù)據(jù)分析。
問題比較簡單,給定一個字符串集合求解其中最長的公共前綴即可,這樣的問題有點類似于最長公共子序列的問題,但是比求解最長最長公共子序列簡單很多,因為是公共前綴,這樣的話只需要挨個遍歷即可,只要遍歷長度結(jié)束或者結(jié)束前發(fā)現(xiàn)有不相同的即可終止,返回不同位置之前的子序列即可,下面是具體的實現(xiàn):
#!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)
結(jié)果如下:
str_list1---> ['abcdj', 'abcdef', 'abcdekljjh', 'abcdelopqwe'] abcd str_list2---> ['abcde', 'abcdef', 'abcdekljjh', 'abcdelopqwe'] abcde [Finished in 0.3s]
感謝各位的閱讀!關(guān)于“python怎么實現(xiàn)求解字符串集的最長公共前綴方法”這篇文章就分享到這里了,希望以上內(nèi)容可以對大家有一定的幫助,讓大家可以學(xué)到更多知識,如果覺得文章不錯,可以把它分享出去讓更多的人看到吧!
網(wǎng)站標(biāo)題:python怎么實現(xiàn)求解字符串集的最長公共前綴方法-創(chuàng)新互聯(lián)
分享鏈接:http://chinadenli.net/article14/dgjode.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供企業(yè)網(wǎng)站制作、網(wǎng)站策劃、動態(tài)網(wǎng)站、關(guān)鍵詞優(yōu)化、網(wǎng)站收錄、電子商務(wù)
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)
猜你還喜歡下面的內(nèi)容