Re: [閒聊] 每日leetcode

作者: oin1104 (是oin的說)   2024-07-12 12:44:20
題目:
給你一個字串
你可以消除中間的ab得到x分
或是消除中間的ba得到y分
問你最多能得幾分
思路:
題目的重點就是
像是aba
如果x>y就要選擇ab的組合 得到x分
然後消除ab
不然就是ba
所以需要對兩種情況做stack
然後要stack兩次
寫成函式之後比較簡潔了
```cpp
class Solution {
public:
string test(string s, char l, char r)
{
int len = s.size();
vector<char> res;
for(int i = 0 ; i < len ; i ++)
{
res.push_back(s[i]);
while(res.size()>1 && res[res.size()-2] == l && res[res.size()-1] ==
r)
{
res.pop_back();
res.pop_back();
}
}
string res2(res.begin(),res.end());
return res2;
}
int maximumGain(string s, int x, int y)
{
int res = 0;
if(x > y)
{
string ab = test(s,'a','b');
res += (s.size()-ab.size())/2 * x;
string ba = test(ab,'b','a');
res += (ab.size()-ba.size())/2 * y;
}
else
{
string ba = test(s,'b','a');
res += (s.size()-ba.size())/2 * y;
string ab = test(ba,'a','b');
res += (ba.size()-ab.size())/2 * x;
}
return res;
}
};
```
作者: Furina (芙寧娜)   2024-07-12 12:45:00
我好崇拜你
作者: oin1104 (是oin的說)   2024-07-12 12:45:00
你什麼時後要刷題 操
作者: amsmsk (449)   2024-07-12 12:47:00
給你一個OIN 你可以幹他得到X 或是被他幹得Y分
作者: orangeNoob (橘子色的肥肥)   2024-07-12 12:52:00
大師
作者: JIWP (JIWP)   2024-07-12 12:55:00
我好崇拜你,未來姑姑魯
作者: sustainer123 (caster)   2024-07-12 13:04:00
大師 幫內推

Links booklink

Contact Us: admin [ a t ] ucptt.com