摘要:
不得不表示,能用栈来做的题目前对我来说都很费解,这题又是抄的,来自校友JMDWQ,只不过把C改成了C++。开始时我用的是暴搜,数组的每一位就是一个“魂器”,而他的栈结构里每一位是连续相同的“魂器”的长度,明显要好的多。对他的核心代码,我的理解是这样的,大牛勿喷:判断当前与前一位 相同:栈顶++;(当前连续区长度+1) 不同:不能变化 || top==0: s[++top] = 1;(开辟新区,长度为1) 能变化 && top(存在区):只有一个区:栈顶++(长度+1);t = !t(最左边的区变了); ... 阅读全文