【 在 CKevin 的大作中提到: 】
: 栈不行,abbbcccbd,栈等于贪心,把bbb贪完了,后面的b消不掉了
:
:
abbccd
a: [[0,0]] // 位置相同, 表示单字符, 留下
b: [[1,2]] // 位置不同, 直接跳过
c: [[3,4]] // 位置不同, 直接跳过
d: [[5,5]] // 位置相同, 表示单字符, 留下
=> 倒着遍历 => da -> ad
abbcbbabbcbb
a: [[0,0], [6,6]]
b: [[1,2], [4,5], [7,8], [10,11]]
c: [[3,3], [9,9]]
=> 倒着遍历 => b[10,11](跳过), 位置到 9(c) => c[9, 9](留下) => .....
=> c(9)/a(6)/c(3)/a(0) => acac
abcddcbe
a: [[0, 0]]
b: [[1,1], [1,6]]
c: [[2,2], [2,5]]
d: [[3,4]]
e: [[7,7]]
=> e[7]/a[0] => ae
abbbbccccbd
a: [[0,0]]
b: [[1,9]]
c: [[5,8]]
d: [[10, 10]]
=> d[10]/a[0] => ad
abccbbd
a: [[0,0]]
b: [[1,5]]
c: [[2,3]]
d: [[6,6]]
=> d[6]/a[0] => ad
abbccaabbc
a: [[0,6]]
b: [[1,2], [7,8]]
c: [[3,4], [9,9]]
=> c[9] => c
abcabc
a: [[0,0], [3,3]]
b: [[1,1], [4,4]]
c: [[2,2], [5,5]]
=> c[5]/b[4]/a[3]/c[2]/b[1]/a[0] => abcabc
--
FROM 114.242.178.*
abcddcbe
a: [[0, 0]]
b: [[1,1], [1,6]]
c: [[2,2], [2,5]]
......
这里面的b[1,6]是怎么实现的啊,是类似meizhi的思想,检测到index=6的时候,向前穿透所有可消字符(c[[2,2], [2,5]]等)找到前面一个同名字符的索引么?
abbccaabbc
a: [[0,6]]
b: [[1,2], [7,8]]
c: [[3,4], [9,9]]
而这里面index=9的c,不会被标记[3,9],是因为index=3&4的c已经被消掉了?
【 在 tt2018 (tt2018) 的大作中提到: 】
: abbccd
: a: [[0,0]] // 位置相同, 表示单字符, 留下
: b: [[1,2]] // 位置不同, 直接跳过
: ...................
--
修改:CKevin FROM 123.58.117.*
FROM 123.58.117.*