描述:
給你一個字符串 s
,請你返回滿足以下條件的最長子字符串的長度:每個元音字母,即 'a','e','i','o','u' ,在子字符串中都恰好出現了偶數次。
提示:
Represent the counts (odd or even) of vowels with a bitmask.
Precompute the prefix xor for the bitmask of vowels and then get the longest valid substring.
= =果然想的太簡單 下面是錯誤版本
class Solution(object):
def findTheLongestSubstring(self, s):
###查找字符串的所有子串###########
all = [s[i:i + x + 1] for x in range(len(s)) for i in range(len(s) - x)]
###########################
res_lis=[]#用來存放符合條件的字符串
len_lis=[]#用來存放符合條件的字符串的長度
for str in all:
if (str.count('e') % 2) == 0 and (str.count('a') % 2) == 0 and (str.count('i') % 2) == 0 and (str.count('o') % 2) == 0 and (str.count('u') % 2) == 0:
res_lis.append(str)
len_lis.append(len(str))
result = res_lis[len(res_lis)-1]
return len(result)
if __name__ == "__main__":
s = "bcbcbc"
result1 = Solution()
print(result1.findTheLongestSubstring(s))