前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >算法-奇偶分割数组

算法-奇偶分割数组

作者头像
OBKoro1
发布2020-10-27 11:57:21
5760
发布2020-10-27 11:57:21
举报

奇偶分割数组

难度:简单

描述:

分割一个整数数组,使得奇数在前偶数在后。

样例:

给定 [1, 2, 3, 4],返回 [1, 3, 2, 4]。

增加一下难度:

给定乱序数组:[2, 5, 1, 6, 3, 4],返回[1, 3, 5, 2, 4, 6]

思路分析:

排序好的数组:找到奇数进行操作。

乱序的数组:使用sort方法进行排序+提取奇数

代码模板:

js const partitionArray = arr => {};¨G0Gjs const partitionArray = arr => { let num = arr.length - 1; // 其实如果是乱序数组,可以在这里使用sort将数组排序好再走下面那部分也可以 // 倒序遍历 for (let i = num; i >= 0; i--) { if (arr[i] % 2 !== 0) { let item = arr.splice(i, 1); // 将当前值取出来 arr.unshift(item[0]); // 添加到首位 } } return arr; }; console.log('输出', partitionArray([1, 2, 3, 4]));¨G1Gjs const partitionArray = arr => { return arr.sort((a, b) => { if (a % 2 !== 0 && b % 2 !== 0) { // 当两个数都是奇数的情况下 按大小排序 return a - b; } else if (a % 2 === 0 && b % 2 === 0) { // 当两个数都是偶数的情况下也是按大小排序 return a - b; } else if (a % 2 !== 0) { // 当a是奇数 要排在b的前面 return -1; } else if (b % 2 !== 0) { // 当b是奇数 排在a的前面 return 1; } }); }; console.log( '输出', partitionArray([1, 2, 3, 4]), partitionArray([2, 5, 1, 6, 3, 4]) );

鼓励我一下:

觉得还不错的话,给我的项目点个star吧

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2018-11-06,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 OBKoro1前端进阶积累 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 奇偶分割数组
    • 难度:简单
      • 描述:
        • 样例:
          • 增加一下难度:
            • 思路分析:
              • 代码模板:
                • 鼓励我一下:
                领券
                问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档