905.按奇偶索引数组(javascriptpython3)

原创
小哥 3年前 (2022-11-10) 阅读数 6 #大杂烩
  1. 按奇偶校验对数组排序

给定一个非负整数数组 A,返回一个数组, A 所有偶数元素后面都是所有奇数元素。

您可以返回满足此条件的任何数组作为答案。
示例:

输入:[3,1,2,4]
输出:[2,4,3,1]
输出 [4,2,3,1],[2,4,1,3] 和 [4,2,1,3] 也将被接受。

有四种情况需要考虑

  • i 为偶数,j是奇数,顺序正确,无需更换,i++ j–;i向后移动一个,j向前移动一个
  • i 为偶数,j为偶数,i正确,后退一步 i++;j不正确,保持静止
  • i 为奇数,j为奇数,j正确,向前移动一个 j–;i 不正确,保持静止
  • i 为奇数,j是偶数,需要替换,i++ j–;i向后移动一个,j向前移动一个;
    i和j位置互换

javascript

互换方式
[nums[i],nums[j]]=[nums[j],nums[i]]

/**
 * @param {number[]} nums
 * @return {number[]}
 */
var sortArrayByParity = function(nums) {
    let i=0,j=nums.length-1;
    while(i

python3

互换方式
nums[i],nums[j]=nums[j],nums[i]

class Solution:
    def sortArrayByParity(self, nums: List[int]) -> List[int]:
        if not nums or len(nums)<=1:return nums
        i=0
        j=len(nums)-1
        while i
版权声明

所有资源都来源于爬虫采集,如有侵权请联系我们,我们将立即删除