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