精華區beta Marginalman 關於我們 聯絡資訊
題目: 給你一個字串 你可以消除中間的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; } }; ``` -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 1.162.13.212 (臺灣) ※ 文章網址: https://www.ptt.cc/bbs/Marginalman/M.1720759462.A.47A.html
Furina: 我好崇拜你 07/12 12:45
oin1104: 你什麼時後要刷題 操 07/12 12:45
amsmsk: 給你一個OIN 你可以幹他得到X 或是被他幹得Y分 07/12 12:47
orangeNoob: 大師 07/12 12:52
JIWP: 我好崇拜你,未來姑姑魯 07/12 12:55
sustainer123: 大師 幫內推 07/12 13:04