本文實例講述了Python簡單實現查找一個字符串中最長不重復子串的方法。分享給大家供大家參考,具體如下:
剛結束的一個筆試題,很簡單,不多說簡單貼一下具體的實現:
#!usr/bin/env python#encoding:utf-8'''''__Author__:沂水寒城功能:找出來一個字符串中最長不重復子串'''def find_longest_no_repeat_substr(one_str): ''''' 找出來一個字符串中最長不重復子串 ''' res_list=[] length=len(one_str) for i in range(length): tmp=one_str[i] for j in range(i+1, length): if one_str[j] not in tmp: tmp+=one_str[j] else: break res_list.append(tmp) res_list.sort(lambda x,y:cmp(len(x),len(y))) return res_list[-1]if __name__ == '__main__': one_str_list=['120135435','abdfkjkgdok','123456780423349'] for one_str in one_str_list: res=find_longest_no_repeat_substr(one_str) print '{0}最長非重復子串為:{1}'.format(one_str, res)結果如下:
120135435最長非重復子串為:201354
abdfkjkgdok最長非重復子串為:abdfkj
123456780423349最長非重復子串為:123456780
更多關于Python相關內容可查看本站專題:《Python字符串操作技巧匯總》、《Python數據結構與算法教程》、《Python函數使用技巧總結》、《Python入門與進階經典教程》及《Python文件與目錄操作技巧匯總》
希望本文所述對大家Python程序設計有所幫助。
新聞熱點
疑難解答