题目来源:链接
题目描述:
输入一个整数数组,实现一个函数来调整该数组中数字的顺序,使得所有奇数位于数组的前半部分,所有偶数位于数组的后半部分。
代码实现:
def exchange(self, nums: List[int]) -> List[int]:
i,j = 0,len(nums)-1
while i < j:
while i < j and nums[i]&1 == 1:
i += 1
while i < j and nums[j]&1 == 0:
j -= 1
nums[i],nums[j] = nums[j],nums[i]
return nums
解题思路:
通过题意我们可以知道不需要单调,所以我们只需要像快速排序那样,来个双指针,把前排
出现的偶数和后排出现的奇数位置对调就行了
本文介绍了一种有效的算法,用于将整数数组中的奇数和偶数分别放置在数组的前半部分和后半部分。通过使用类似快速排序的双指针技术,实现了高效的奇偶分离。
410

被折叠的 条评论
为什么被折叠?



