有n个整数,使前面各数顺序向后移m个位置,最后m个数变成前面m个数。用python写一个函数实现以上功能。
时间: 2023-12-20 07:15:48 浏览: 61
Java for combinatorial number algorithm.zip_4MJN_M?n_enterbl4_组合
好的,我可以帮您写一个实现该功能的 Python 函数。以下是代码:
```python
def shift_array(arr, m):
n = len(arr)
# 首先将数组中的元素向后移动 m 个位置
for i in range(n - 1, m - 1, -1):
arr[i], arr[i - m] = arr[i - m], arr[i]
# 然后将最后 m 个元素移动到数组开头
for i in range(m):
arr[i], arr[n - m + i] = arr[n - m + i], arr[i]
return arr
```
这个函数接收两个参数,第一个参数 `arr` 是一个整数数组,第二个参数 `m` 是需要向后移动的位置数。
该函数的实现思路是:首先将数组中的元素向后移动 m 个位置,然后将最后 m 个元素移动到数组开头。最后返回移动后的数组。
阅读全文