剑指 Offer——13. 调整数组顺序使奇数位于偶数前面
2024-09-06 09:07:08
题目描述
输入一个整数数组,实现一个函数来调整该数组中数字的顺序,使得所有的奇数位于数组的前半部分,所有的偶数位于数组的后半部分,并保证奇数和奇数,偶数和偶数之间的相对位置不变。这和书本不太一样。
解题思路
复制出一个新的数组 copy[ ],然后统计出数组奇数个数,作为新的偶数的起始索引,再设置一个奇数的索引(0),遍历复制的新数组,维护两个指针,按奇数偶数分别插入。
public void reOrderArray(int[] nums) {
// 奇数个数
int oddCnt = 0;
for (int val : nums)
if (val % 2 == 1)
oddCnt++;
int[] copy = nums.clone();
int i = 0, j = oddCnt;
for (int num : copy) {
if (num % 2 == 1)
nums[i++] = num;
else
nums[j++] = num;
}
}
最新文章
- ffplay 2.5.3 媒体播放器
- jQuery 判断表单中多个 input text 中至少有一个不为空
- ORA-04031案例一则
- 实用的两款jquery树形tree插件
- iptables中DNAT的配置方法
- vue的登陆验证及返回登录前页面实现
- 【转】Android,iOS打开手机QQ与指定用户聊天界面
- MySQL内连接、外连接、交叉连接
- linux上限值网速、限值带宽
- BZOJ 4765 普通计算姬 (分块 + BIT)
- IAM页面是在统一区分配的还是在混合区分配的?
- 给本地服务器配置py文件的下载功能
- ML-DL-各种资源汇总
- mysqladmin常用用法
- Python学习 :常用模块(三)----- 日志记录
- Unity教程之-UGUI一个优化效率小技巧
- 【Splay】bzoj3223 Tyvj 1729 文艺平衡树
- js 正则表达式简易教程
- 洛谷 P3690 Link Cut Tree
- jQuery下拉列表操作(转)