給你乙個字串 s ,請你返回滿足以下條件的最長子字串的長度:每個母音字母,即 『a』,『e』,『i』,『o』,『u』 ,在子字串中都恰好出現了偶數次。
示例 1:
輸入:s = 「eleetminicoworoep」示例 2:輸出:13
解釋:最長子字串是 「leetminicowor」 ,它包含 e,i,o 各 2 個,以及 0 個 a,u 。
輸入:s = 「leetcodeisgreat」示例 3:輸出:5
解釋:最長子字串是 「leetc」 ,其中包含 2 個 e 。
輸入:s = 「bcbcbc」輸出:6
解釋:這個示例中,字串 「bcbcbc」 本身就是最長的,因為所有的母音 a,e,i,o,u 都出現了 0 次。
1 <= s.length <= 5 x 10^5s 只包含小寫英文本母。
class
solution
:def
findthelongestsubstring
(self, s:
str)
->
int:
flag =
0 length =
0 slist =[-
1]*(
1<<5)
tempstr =
'aeiou'
slist[0]
=0for i,v in
enumerate
(s):
if v ==
'a':
flag ^=1
<<
4elif v==
'e':
flag ^=1
<<
3elif v ==
'i':
flag ^=1
<<
2elif v ==
'o':
flag ^=1
<<
1elif v ==
'u':
flag ^=1
<<
0if slist[flag]!=-
1:#奇數減奇數等於偶數,偶數減偶數等於偶數。
length =
max(length,i+
1-slist[flag]
)else
: slist[flag]
= i+
1#表示狀態為flag時有i+1個字元
return length
1371 每個母音包含偶數次的最長子字串
給你乙個字串 s 請你返回滿足以下條件的最長子字串的長度 每個母音字母,即 a e i o u 在子字串中都恰好出現了偶數次。示例 1 輸入 s eleetminicoworoep 輸出 13 解釋 最長子字串是 leetminicowor 它包含 e,i,o 各 2 個,以及 0 個 a,u 示例...
1371 每個母音包含偶數次的最長子字串
給你乙個字串 s 請你返回滿足以下條件的最長子字串的長度 每個母音字母,即 a e i o u 在子字串中都恰好出現了偶數次。示例 1 輸入 s eleetminicoworoep 輸出 13 解釋 最長子字串是 leetminicowor 它包含 e,i,o 各 2 個,以及 0 個 a,u 示例...
1371 每個母音包含偶數次的最長子字串
難度 中等 2020 5 20每日一題打卡 字首和 狀態壓縮 雜湊表 今天2020520,算是乙個很特別的日子了!但是每日一題還是要寫的 抄題解的一天 類似的題 1124.表現良好的最長時間段 題目描述 解題思路 參考題解 每個母音包含偶數次的最長子字串 官方題解 將題目一步步等價轉化 非奇即偶 與...