189. Rotate Array
題目網址:https://leetcode.cn/problems/rotate-array/
題意:給一 array
nums, 將其往右旋轉k次, 其中k為非負整數。

Solution 1:
想法:用額外的 array 來記住原本的
nums來進行旋轉, 由於k有可能會大於n, 所以先將k做 mod 運算e.g.
nums = [1, 2, 3],k = 4, 其實k等價於4 % 3 = 1
class Solution { |
- time:$O(n)$ ➔ for loop
- space:$O(n)$ ➔
tmp
Solution 2:
想法:將
nums分成兩個部分, 旋轉後不會溢出nums的、旋轉後會溢出nums的。發現可以先將nums進行 reverse, 然後針對那兩個 group 再做一次 reverse 即為所求
class Solution { |
- time:$O(n)$ ➔ reverse 遍歷
nums - space:$O(1)$ ➔ 只需常數空間
本部落格所有文章除特別聲明外,均採用 CC BY-NC-SA 4.0 許可協議。轉載請註明來自 Zako's Blog!
評論

