448. Find All Numbers Disappeared in an Array
題目網址:https://leetcode.cn/problems/find-all-numbers-disappeared-in-an-array/
題意:原本有一包含
[1, n]
總共n
個數的 array, 今給一個n
個數的 array (含重複數)nums
, 找出所有缺失的數。
Solution:
想法:將數字設為 負數 來標記我們看到的數字的 index, 然後遍歷
nums
元素, 若nums[i] > 0
, 代表數字i + 1
沒出現過e.g.
[1, 2, 2]
➔[-1, -2, 2]
, 其中nums[0]
紀錄數字 1 是否出現因為數字 1 有出現, 所以
nums[0]
被設為負數, 依此類推
class Solution { |
- time:$O(n)$ ➔ 遍歷
nums
- space:$O(1)$ ➔ 扣除返回的 array, 且缺失 idx 都儲存在
nums
中, 故只需常數空間
本部落格所有文章除特別聲明外,均採用 CC BY-NC-SA 4.0 許可協議。轉載請註明來自 Zako's Blog!
評論