算法-奇偶分割数组
奇偶分割数组
难度:简单
描述:
分割一个整数数组,使得奇数在前偶数在后。
样例:
给定 [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吧
- 将你的网站打造成一个iOS Web App
- 什么是人?人工智能的发展已经逼迫人类思考这样的问题
- 加法生产
- Web 前端利器Emmet 的HTML用法总结
- Web 前端利器Emmet 的CSS 用法总结
- 响应式 HTML 邮件制作之三个实例
- java知识点归纳
- EaseMobile 主题导航菜单设置小图标的方法(图文+视频教程)
- NEC css规范
- DW Mobile Switcher:移动设备识别切换主题插件
- 揭秘技术大国以色列
- mix-blend-mode 混合模式 background-blend-mode 背景混合模式 isolation:isolate 隔离
- wp_nav_menu 函数经Walker_Nav_Menu 类自定义导航菜单HTML
- css3 RGBA 红色R+绿色G+蓝色B+Alpha通道
- JavaScript 教程
- JavaScript 编辑工具
- JavaScript 与HTML
- JavaScript 与Java
- JavaScript 数据结构
- JavaScript 基本数据类型
- JavaScript 特殊数据类型
- JavaScript 运算符
- JavaScript typeof 运算符
- JavaScript 表达式
- JavaScript 类型转换
- JavaScript 基本语法
- JavaScript 注释
- Javascript 基本处理流程
- Javascript 选择结构
- Javascript if 语句
- Javascript if 语句的嵌套
- Javascript switch 语句
- Javascript 循环结构
- Javascript 循环结构实例
- Javascript 跳转语句
- Javascript 控制语句总结
- Javascript 函数介绍
- Javascript 函数的定义
- Javascript 函数调用
- Javascript 几种特殊的函数
- JavaScript 内置函数简介
- Javascript eval() 函数
- Javascript isFinite() 函数
- Javascript isNaN() 函数
- parseInt() 与 parseFloat()
- escape() 与 unescape()
- Javascript 字符串介绍
- Javascript length属性
- javascript 字符串函数
- Javascript 日期对象简介
- Javascript 日期对象用途
- Date 对象属性和方法
- Javascript 数组是什么
- Javascript 创建数组
- Javascript 数组赋值与取值
- Javascript 数组属性和方法
- 如何将单 master 升级为多 master 集群
- 为 Kubernetes 节点发布扩展资源
- Kubernetes 资源预留配置
- PHP一些常见的漏洞梳理
- File的基本操作
- 一文教你在Colab上使用TPU训练模型
- 如何在Docker容器中运行Docker [3种方法]
- [漏洞复现] 三.CVE-2020-0601微软证书漏洞及Windows验证机制欺骗复现
- PDF文件密码破解
- Ubuntu 制作离线源
- keycloak+istio实现基于jwt的服务认证授权
- dplyr 包arrange对数据排序
- ELK 日志报警插件 ElastAlert
- 简单的源码免杀过av
- vue nextTick源码