zl程序教程

您现在的位置是:首页 >  后端

当前栏目

每日一题(2022-04-28)—— 按奇偶排序数组

数组排序 2022 每日 28 04 奇偶
2023-06-13 09:18:38 时间

905. 按奇偶排序数组

题目描述:

给你一个整数数组 nums,将 nums 中的的所有偶数元素移动到数组的前面,后跟所有奇数元素。 返回满足此条件的 任一数组 作为答案。

示例 1: 输入:nums = [3,1,2,4] 输出:[2,4,3,1] 解释:[4,2,3,1]、[2,4,1,3] 和 [4,2,1,3] 也会被视作正确答案。 示例 2: 输入:nums = [0] 输出:[0]

题解:

func sortArrayByarity(nums []int) []int {
	i := 0
	// 遍历nums 遇到奇数 塞到后面,并删除当前位置
	// 这里遍历的是nums 里面nums的修改不会影响这里的遍历
	for _, v := range nums {
		if v%2 != 0 {
			nums = append(nums, v)
			nums = append(nums[0:i], nums[i+1:]...)
		}
		if v%2 == 0 {
			i++
		}
	}
	return nums
}

提交结果:

不知道为什么会报错这个例子,在Goland中用对数器是没有错误的,这个例子在本地运行输出也是[0,1]