轮转数组 给定一个整数数组 nums,将数组中的元素向右轮转 k 个位置,其中 k 是非负数 求轮转后的数组
时间: 2024-12-19 11:29:02 浏览: 6
python 实现给你一个整数数组 nums ,数组中的元素 互不相同 。返回该数组所有可能的子集(幂集)
5星 · 资源好评率100%
轮转数组是一种常见的数据结构操作,它涉及到数组元素的移动,使得数组中的每个元素都向前移动k个位置。给定一个整数数组`nums`和一个非负整数`k`,你可以通过以下步骤实现这个操作:
1. 创建一个新的数组,大小等于原数组的长度。
2. 从原数组的第`k`个元素开始遍历,将每个元素复制到新数组对应的位置,直到遍历完整个原数组。
3. 如果`k`大于0,还需要将剩余的部分(即原数组的前`k`个元素)从新数组的起始位置复制到新数组的适当位置。
举个例子,如果原数组是`[1, 2, 3, 4, 5]`,`k = 2`,那么结果数组将是`[4, 5, 1, 2, 3]`,因为第一个元素(1)移到了第三个位置,第二个元素(2)移到了第四个位置,依此类推。
这里是一个简单的Python示例实现:
```python
def rotate(nums, k):
n = len(nums)
k %= n # 对k取模,防止数组越界
nums[:] = nums[n - k:] + nums[:n - k] # 将两个切片拼接在一起
return nums
```
阅读全文