[问题] 面试问题followup

楼主: phoenixrace (救世剑)   2018-10-17 04:42:48
问题是给你一串字串,相邻两个字母是一样的要消掉.
Example1:
"aabccb"
作者: DJWS (...)   2018-10-17 06:16:00
有阿 就是面试官 为何不当场问他或者寄信问他那么接下来你可以寄信跟他要code
作者: FRAXIS (喔喔)   2018-10-17 11:08:00
就把 input array 当 stack 用 然后用一个 index 维护还没处理过的部分
作者: DJWS (...)   2018-10-17 12:05:00
所以说 in-place => O(1) space ?
楼主: phoenixrace (救世剑)   2018-10-17 14:52:00
感谢Fraxis,我还真的没有想到input string是mutable,感谢开示,这样应该可以用两个pointer做到
作者: FRAXIS (喔喔)   2018-10-17 21:09:00
一般来说 in-place 就是 O(1) space精确来说是 O(1) variables因为输入阵列长度是 n 的话 存 index 就要O(lg n) bits不过面试官大概不会注意这种差异..
作者: DJWS (...)   2018-10-17 22:21:00
了解 谢谢
作者: alan23273850   2018-10-18 09:06:00
我想问这题和 C/C++ 板的 #1Rf8aTlF 这篇差在哪那边有很多人讨论这题,也萌生出一些解法,不过还没看到有 O(1) space 的
作者: ckc1ark (伪物)   2018-10-18 10:26:00
连续两个以上可以删 和 连续两个 有差别

Links booklink

Contact Us: admin [ a t ] ucptt.com