Utopi
a

旋转数组

Using an alternative array is the most efficient and easy answer.

给定一个数组,将数组中的元素向右移动 k 个位置,其中 k 是非负数。

Example:

输入: [1,2,3,4,5,6,7] 和 k = 3 输出:[5,6,7,1,2,3,4] 解释: 向右旋转 1 步: [7,1,2,3,4,5,6] 向右旋转 2 步: [6,7,1,2,3,4,5] 向右旋转 3 步: [5,6,7,1,2,3,4]

我的

func rotate(_ nums: inout [Int], _ k: Int) { var B:Array=[Int](repeating: 0, count: nums.count) let j=k%nums.count for i in 0..<nums.count{ let num=(i+j)%nums.count B[num]=nums[i] } for i in 0..<nums.count { nums[i]=B[i] } }

<br/v>

34 / 34 个通过测试用例 状态:通过 执行用时:48 ms 内存消耗:21.3 MB