#分享 【程式邏輯思維分享】LeetCode經典題目解析(Find All Duplicates in an Array)

2022年1月15日 15:40
題目:
imgur
(難度:Medium) 我的思路: (1)1 <= nums[i] <= nums.length,所以在nums當中,每個元素減1的結果一定可作為陣列的索引。 (2)將nums[abs(nums[i]) - 1]變為負數。舉例來說,在Example 1當中,當i等於0時,陣列的元素是4,4減1等於3,所以要把nums[3]變為負數,也就是-7。這麼做的用意正是方便找出重複出現的元素,因為假如4在後面又出現了,那麼一旦發現nums[3]已經是負數了,就代表4在之前已經出現過了。 程式碼: Java:
imgur
C#:
imgur
Python:
imgur
JavaScript:
imgur
以上的程式均無使用額外空間,且時間複雜度均為O(n),符合題目要求。 佔用的記憶體空間和執行效率的比較:
imgur
歡迎各位大神也來分享自己的思路哦😊~
愛心哈哈WOW
20
留言 9
文章資訊