283. Move Zeroes,要求 in-place 操作,使用快慢指針來解題。


283. Move Zeroes,要求 in-place 操作,使用快慢指針來解題。




這道題要我們從有序數組中去除重複項,題目難度雖然被歸為 easy 等級,但在條件限制上的討論,蠻多東西可以釐清討論的。 英文方面寫得蠻長,記得要看到最後,因為有寫一些限制如 :
O(1)extra memory- The relative order of the elements should be kept the same.
所以不能用 Set 或另開 array 去寫。題目也花了些篇幅去說明,只要原 array 前面長度部分內,有把所有不重複數字列出來就好,不需要在意後面 array 的元素。

尋找第 k 大的數字,注意是排序後的第 k 個最大元素,而不是第 k 個不同的元素。解題上是經典的使用 priority_queue 的題目,但對於這個問題,還可以使用 quick select ,也是個蠻好的解法。

