keep learning, keep coding!
Problem - Rotate Array
Given an integer array nums, rotate the array to the right by k steps, where k is non-negative.
翻譯蒟蒻
給定一個整數陣列 nums,要求把陣列向右旋轉 k 步,其中 k 是非負整數。
Example 1:
1
2
3
4
5
6Input: 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]Example 2:
1
2
3
4
5Input: nums = [-1,-100,3,99], k = 2
Output: [3,99,-1,-100]
Explanation:
rotate 1 steps to the right: [99,-1,-100,3]
rotate 2 steps to the right: [3,99,-1,-100]
Solution - JavaScript
1 | /** |
建立新的 newArr,使用展開運算符
...
將原始數組 nums 中的所有元素複製到 newArr 中。使得在修改原本陣列之前保留原本的元素順序。nums[newIndex] = newArr[i];
使用計算得到的新索引,將 newArr 中對應的元素賦值給原本 nums 中的新索引位置。
Solution - Ruby
Solution 1:
1 | def rotate(nums, k) |
Solution 2:
1 | def rotate(nums, k) |
整個方法的作用是將陣列 nums 向左旋轉 k 步。在 Ruby 中,rotate! 方法會修改原始 Array,而不是傳回一個新的陣列。