【LeetCode】189. Rotate Array

2021/10/08閱讀時間約 1 分鐘
之前跳過的題目,回來補完成。
Input: nums = [1,2,3,4,5,6,7], k = 3
Output: [5,6,7,1,2,3,4]
Explanation:
rotate 1 steps to the right: [7,1,2,3,4,5,6]
rotate 2 steps to the right: [6,7,1,2,3,4,5]
rotate 3 steps to the right: [5,6,7,1,2,3,4]
依照題目的敘述,翻譯做陣列滾動似乎比較有感覺,每增加一次step,陣列內元素就往右滾一格。
實際上要達到題目要求的結果,分別做3次陣列反轉就可以了
1.對全部元素做反轉
2.對k位置以前的元素再反轉一次
3.對k位置以後的元素再反轉一次
例外狀況: 有可能陣列大小小於k值得要求,另外先以k對陣列大小取餘數,確保指標會在陣列範圍內。
10會員
53內容數
遇到的坑、解過的題、新知識的探索、舊時代的遺毒!? 工作後我發現,文件更新往往跟不上新需求的更迭,犯錯的歷史總是不斷重演。因此,我改變了方式,蒐集從程式上、系統上的每一次異常處理過程,好讓再次遇到相同的問題時能快速應變。此專題就是我的錯題本,期待日後不管在工作上或交流上遇到難題,都能輕鬆地應答:有什麼難的,我都踩過。
留言0
查看全部
發表第一個留言支持創作者!