在计算机考研数学中,算法题是考察考生逻辑思维和编程能力的重要环节。以下是一道典型的算法题:
题目:给定一个整数数组arr,请编写一个函数,实现以下功能:
1. 将数组中的负数移到数组的末尾,同时保持正数和0的相对位置不变。
2. 返回修改后的数组。
示例:
输入:[1, -2, 3, 0, -4, 5]
输出:[1, 3, 5, 0, -2, -4]
解答:
```python
def move_negative(arr):
left, right = 0, len(arr) - 1
while left < right:
while left < right and arr[left] >= 0:
left += 1
while left < right and arr[right] < 0:
right -= 1
if left < right:
arr[left], arr[right] = arr[right], arr[left]
left += 1
right -= 1
return arr
测试
print(move_negative([1, -2, 3, 0, -4, 5])) 输出:[1, 3, 5, 0, -2, -4]
```
微信考研刷题小程序:【考研刷题通】为您提供丰富的考研刷题资源,包括政治刷题、英语刷题、数学等全部考研科目。让您随时随地刷题,轻松备战考研!立即关注,开启高效备考之旅!