Re: [問題] C/C++字串處理問題

作者: gofigure (平行世界)   2018-09-21 20:30:38
※ 引述《a106a106 (猜猜我4誰)》之銘言:
我想到一個做法
但是不曉得有沒有漏洞
思路跟找palindrome的方式類似
從任何兩個連續的character i, i+1 開始往兩邊出發
合法的情況會有
yxxy,xxxx:左右各前進一步
yxxx:左邊暫停,右邊前進一步
xxxy:左邊前進一步,右邊暫停
如果以上都不符合,嘗試下一個i
測試了幾個case有過,有甚麼地方錯的嗎
bool eliminate(string s) {
int len = (int) s.length();
if (len <= 1) return len == 0;
for (int i = 0; i < len - 1; i++) {
if (s[i] != s[i + 1]) continue;
int j = i, k = i + 1;
while (j >= 1 && k < len - 1) {
if (s[j - 1] == s[k + 1]) {
j
作者: idiont (supertroller)   2018-09-22 03:22:00
yxxyxxy
作者: gofigure (平行世界)   2018-09-22 07:47:00
嗯 while那邊應該可以改一下處理邊界問題
作者: LPH66 (-6.2598534e+18f)   2018-09-23 15:34:00
你的 DP 只會 +2 所以不會在 yxxyxxy 裡得到 7我沒試跑, 不過以這樣看起來可能 yyy 也不會過

Links booklink

Contact Us: admin [ a t ] ucptt.com