剑指offer—调整数组顺序使奇数位于偶数前面
来源:互联网 发布:九阴绝学金身升级数据 编辑:程序博客网 时间:2024/05/29 07:29
题目描述
输入一个整数数组,实现一个函数来调整该数组中数字的顺序,使得所有的奇数位于数组的前半部分,所有的偶数位于位于数组的后半部分,并保证奇数和奇数,偶数和偶数之间的相对位置不变。
public class Solution { public void reOrderArray(int [] array) { if(array==null || array.length<=0) return; int flag = 0; int i,j; for(i=1; i<array.length;i++){ if((array[i]&1)==1 && (array[i-1]&1)==0){ flag = array[i]; for(j=i-1; j>=0 && (array[j]&1)==0; j--){ array[j+1] = array[j]; } array[j+1] = flag; } } }}
这里的代码是满足牛客网上题目要求的,奇数排在数组的前半部分,偶数排在数组的后半部分,并且相对位置不变。这里使用插入排序法解决
int i=0; int j=array.length-1; while(i<j){ while(i<j&&array[I]&2==1){ i++; } while(i<j&&array[j]&2==0){ j--; } int temp=array[j]; array[j]=array[i]; array[i]=temp; }
这一部分代码是满足原书要求的代码,数组前半部分是奇数,后半部分是偶数类似于快排
阅读全文
0 0
- 剑指offer:调整数组顺序使奇数位于偶数前面
- 剑指offer--调整数组顺序使奇数位于偶数前面
- 剑指offer 调整数组顺序使奇数位于偶数前面
- 《剑指offer》调整数组顺序使奇数位于偶数前面
- 剑指 offer:调整数组顺序使奇数位于偶数前面
- 剑指offer-调整数组顺序使奇数位于偶数前面
- 剑指offer 调整数组顺序使奇数位于偶数前面
- 剑指offer-调整数组顺序使奇数位于偶数前面
- 剑指offer 调整数组顺序使奇数位于偶数前面
- 【剑指offer】调整数组顺序使奇数位于偶数前面
- [剑指offer]调整数组顺序使奇数位于偶数前面
- 剑指offer:调整数组顺序使奇数位于偶数前面
- 【剑指offer】调整数组顺序使奇数位于偶数前面
- 剑指offer|调整数组顺序使奇数位于偶数前面
- 《剑指offer》调整数组顺序使奇数位于偶数前面
- 剑指Offer:调整数组顺序使奇数位于偶数前面
- 剑指offer - 调整数组顺序使奇数位于偶数前面
- 【剑指offer】调整数组顺序使奇数位于偶数前面
- thinkphp3.2 中用S方法实现 用户定时操作
- 利用Swoole实现PHP+websocket 聊天室
- Qt 拖拽 动态 垃圾箱
- 查看APK的签名的方法
- BZOJ4059: [Cerc2012]Non-boring sequences
- 剑指offer—调整数组顺序使奇数位于偶数前面
- C++进阶—>_beginthreadex和CreateThread的区别和联系
- 人工智能发展中的道德困境
- 集合Hash哈希
- 矩阵中的路径
- 网站发布到服务器后cookie无法登录问题
- 网络传输Socket:用于文件传输、视频聊天
- jQuery制作的网页菜单导航
- 9、新手入手树莓派教程--WiringPi控制GPIO