python 實(shí)現(xiàn)求解字符串集的最長(zhǎng)公共前綴方法
問題比較簡(jiǎn)單,給定一個(gè)字符串集合求解其中最長(zhǎng)的公共前綴即可,這樣的問題有點(diǎn)類似于最長(zhǎng)公共子序列的問題,但是比求解最長(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)文章
使用Python實(shí)現(xiàn)在Excel工作表中添加、修改及刪除超鏈接
在創(chuàng)建Excel工作簿時(shí),內(nèi)部文檔的互鏈、報(bào)告自動(dòng)化生成或是創(chuàng)建外部資源快速訪問路徑是比較常見的需求,本文將介紹如何使用Python實(shí)現(xiàn)在Excel工作表中對(duì)超鏈接進(jìn)行添加、修改及刪除的操作,需要的朋友可以參考下2024-10-10python中round函數(shù)保留兩位小數(shù)的方法
在本篇內(nèi)容里小編給各位分享的是一篇關(guān)于python中round函數(shù)保留兩位小數(shù)的方法及相關(guān)知識(shí)點(diǎn),有興趣的朋友們可以學(xué)習(xí)下。2020-12-12Python讀寫二進(jìn)制文件的實(shí)現(xiàn)
本文主要介紹了Python讀寫二進(jìn)制文件的實(shí)現(xiàn),文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2023-04-04Python dict和defaultdict使用實(shí)例解析
這篇文章主要介紹了Python dict和defaultdict使用實(shí)例解析,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2020-03-03基于Python的XSS測(cè)試工具XSStrike使用方法
XSS(Cross Site Scripting,跨站腳本攻擊)是一類特殊的Web客戶端腳本注入攻擊手段,通常指攻擊者通過“HTML注入”篡改了網(wǎng)頁,插入惡意的腳本,從而在用戶瀏覽網(wǎng)頁時(shí)控制瀏覽器的一種攻擊。2017-07-07自己編程中遇到的Python錯(cuò)誤和解決方法匯總整理
這篇文章主要介紹了自己編程中遇到的Python錯(cuò)誤和解決方法匯總整理,本文收集整理了較多的案例,需要的朋友可以參考下2015-06-06