發表文章

目前顯示的是 5月, 2018的文章

[程式設計]15. 3Sum

圖片
簡介 3Sum 是 LeetCode 的一道面試題,難度為「難」。 題目是這麼說的 給一個陣列,包含了 n 個整數 (有正數,也有負數)。 請在裏面找 3 個數,x,y 以及 z,滿足  x + y + z = 0。 此外還要求找出的 x, y, z 不可以重覆。 例如在底下的陣列中 [-4, -1 , -1 , 0, 1, 2] 你可以湊出 2 個 [ -1 , 0, 1] 以及 [ -1 , 0, 1] 但其實另一個 [-1, 0, 1] 是不必要的。 這個問題難在面試時,公司要求寫出「有效率」的程式碼。 但這題要如何有效率解出,是有難度的。 就直覺來說,我們會使用 3 層迴圈來搞定,程式碼如下所示: