Re: [閒聊] 每日leetcode
題目
找最長的一串字字串
裡面的母音都出現偶數次
思路
用bitset<5>記錄當前狀態
用map記錄那種狀態之後往回找有沒有一樣的
一樣的就代表出現偶數次
後來才發現原來map會把
所有都是0的bitset的key
直接默認值 = 0
所以還要自己弄成-1
有夠靠北
```cpp
class Solution {
public:
int findTheLongestSubstring(string s)
{
int n = s.size();
unordered_map<bitset<5>,int> save;
bitset<5> now = {0};
save[now] = -1;
int res = 0;
for(int i = 0 ; i < n ; i ++)
{
if(s[i] == 'a')now[0] = 1-now[0];
if(s[i] == 'e')now[1] = 1-now[1];
if(s[i] == 'i')now[2] = 1-now[2];
if(s[i] == 'o')now[3] = 1-now[3];
if(s[i] == 'u')now[4] = 1-now[4];
if(save.find(now) != save.end())
{
res = max(res , i - save[now]);
}
else save[now] = i;
// for(int j = 0 ; j < 5 ; j ++)
// {
// cout << " " << now[j];
// }
// cout << endl;
}
return res;
}
};
```
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 1.162.18.55 (臺灣)
※ 文章網址: https://www.ptt.cc/bbs/Marginalman/M.1726376716.A.73D.html
推
09/15 13:06,
1年前
, 1F
09/15 13:06, 1F
→
09/15 13:11,
1年前
, 2F
09/15 13:11, 2F
討論串 (同標題文章)
完整討論串 (本文為第 861 之 1554 篇):