Re: [閒聊] 每日leetcode

作者: oin1104 (是oin的說)   2024-09-15 13:05:14
題目
找最長的一串字字串
裡面的母音都出現偶數次
思路
用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;
}
};
```
作者: SydLrio (狂嵐嘴砲)   2024-09-15 13:06:00
你有什麼用
作者: JIWP (JIWP)   2024-09-15 13:11:00
我好崇拜你

Links booklink

Contact Us: admin [ a t ] ucptt.com