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