每日一题——LeetCode922

方法一 双指针:

一个偶指针一个奇指针,偶指针每次都指向nums里的偶数,奇指针每次指向nums里的奇数,两个指针交替push进新数组即可:

var sortArrayByParityII = function(nums) {
 var even=0,odd=0,res=[],flag=true
    while(res.length!= nums.length){
        if(flag==true){
            while(nums[even]%2!==0){
                even++
            }
            res.push(nums[even])
            even++
            flag=false
        }else{
            while(nums[odd]%2===0){
                odd++
            }
            res.push(nums[odd])
            odd++
            flag=true
        }
    }
    return res
};

消耗时间和内存情况: 

方法二 两次遍历:

遍历一遍数组把所有的偶数放进 res[0], res[2], res[4]以此类推。

再遍历一遍数组把所有的奇数依次放进 res[1],res[3],res[5],以此类推。

var sortArrayByParityII = function(nums) {
    var len = nums.length,i=0
    var res = new Array(len)
    
    for(var n of nums){
        if(n%2===0){
            res[i]=n
            i+=2
        }
    }
    i=1
    for(var n of nums){
        if(n%2!==0){
            res[i]=n
            i+=2
        }
    }
    return res
};

消耗时间和内存情况: 

相关推荐

  1. leetcode每日4

    2023-12-29 08:32:04       58 阅读
  2. leetcode每日37

    2023-12-29 08:32:04       55 阅读
  3. leetcode每日38

    2023-12-29 08:32:04       58 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2023-12-29 08:32:04       94 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2023-12-29 08:32:04       101 阅读
  3. 在Django里面运行非项目文件

    2023-12-29 08:32:04       82 阅读
  4. Python语言-面向对象

    2023-12-29 08:32:04       91 阅读

热门阅读

  1. 高阶组件和高阶函数是什么

    2023-12-29 08:32:04       57 阅读
  2. flutter学习-day22-使用GestureDetector识别手势事件

    2023-12-29 08:32:04       45 阅读
  3. 力扣:56. 合并区间(贪心)

    2023-12-29 08:32:04       56 阅读
  4. LeetCode75| 队列

    2023-12-29 08:32:04       56 阅读
  5. 编程笔记 html5&css&js 011 HTML页面划分

    2023-12-29 08:32:04       47 阅读
  6. 策略模式(及案例)

    2023-12-29 08:32:04       52 阅读
  7. SQL 解析 — 如何轻松实现新增语句

    2023-12-29 08:32:04       45 阅读
  8. 热迁移

    2023-12-29 08:32:04       55 阅读