還可以用滑動視窗的辦法 用hashmap# !/usr/bin/env python
# -*- coding: utf-8 -*-
str=
input
("請輸入字串"
)def
max_str_len
(str):
# 取出字串長度
lenght =
len(
str)
# 用於存放不重複字元
list=[
]# 判斷字串是不是空
if lenght==0:
return
0else
: num =
1for i in
range
(lenght)
:for j in
range
(i,lenght)
:# 判斷是否在重複
ifstr
[j]not
inlist
:list
str[j]
)else:if
len(
list
)> num:
num =
len(
list
)list
.clear(
)break
return num
(max_str_len(
str)
)
最長不重複字串
一直以為這個方法是對的,後來發現這種方法是錯誤的,不能處理巢狀的情況,如 adercijckega 稍後再修正!最近面試遇到這題,再網上參考了一些blog,自己歸納出方法並用c 實現。問題 求出字串中最長不重複的字串,如 abccdefgchi 最長不重複字串為defgchi.分析 1.定義乙個二維...
最長不重複子串
出處 勇幸 thinking 題 從乙個字串中找到乙個連續子串,該子串中任何兩個字元不能相同,求子串的最大長度並輸出一條最長不重複子串。本節從最直接的方法逐步優化,漸進探索了四種實現方式,並最終找到時間複雜度為o n 輔助空間為常數的方案,內容如下 基本演算法 使用hash dp方案 dp hash...
最長不重複子串
演算法參考 找到乙個字串中的乙個連續子串,這個子串內不能有任何兩個字元是相同的,並且這個子串是符合要求的最長的。例如輸入 abcbef 輸出 cbef o n 的演算法,具體思路如下 以abcbef這個串為例,用乙個陣列pos記錄每個元素曾出現的下標,初始化為 1。從s 0 開始,依次考察每個字元,...