剑指Offer [13] 调整数组顺序使奇数位于偶数前面
来源:互联网 发布:c语言阶乘怎么写 编辑:程序博客网 时间:2024/06/07 03:16
调整数组顺序使奇数位于偶数前面 : 输入一个整数数组,实现一个函数来调整该数组中数字的顺序,使得所有的奇数位于数组的前半部分,所有的偶数位于位于数组的后半部分,并保证奇数和奇数,偶数和偶数之间的相对位置不变。
- 思路:
- 如果不要求奇数之间、偶数之间顺序不变,那么可以利用快速排序的思想,利用双指针交换奇数偶数位置即可
- 此题要同时保证奇数、偶数之间的相对顺序,这就要用到直接插入排序**算法了
package A13调整数组顺序使奇数位于偶数前面;import java.io.BufferedWriter;public class Solution { public void reOrderArray(int[] array) { if (array.length == 0 || array == null) { return; } int i = 0; int j; while (i < array.length) { while (i< array.length && isOdd(array[i])) { i++; } j = i + 1; while ( j<array.length&& !isOdd(array[j])) { j++; } if (j < array.length) { int temp = array[j]; for (int k = j - 1; k >= i; k--) { array[k + 1] = array[k]; } array[i++] = temp; } else { break; } } } public boolean isOdd(int a) { return (a & 1) != 0; } public static void main(String[] args) { Solution solution = new Solution(); int[] array = {1,2,3,4,5,6,7}; solution.reOrderArray(array); }}
阅读全文
0 0
- 剑指offer:调整数组顺序使奇数位于偶数前面
- 剑指offer--调整数组顺序使奇数位于偶数前面
- 剑指offer 调整数组顺序使奇数位于偶数前面
- 《剑指offer》调整数组顺序使奇数位于偶数前面
- 剑指 offer:调整数组顺序使奇数位于偶数前面
- 剑指offer-调整数组顺序使奇数位于偶数前面
- 剑指offer 调整数组顺序使奇数位于偶数前面
- 剑指offer-调整数组顺序使奇数位于偶数前面
- 剑指offer 调整数组顺序使奇数位于偶数前面
- 【剑指offer】调整数组顺序使奇数位于偶数前面
- [剑指offer]调整数组顺序使奇数位于偶数前面
- 剑指offer:调整数组顺序使奇数位于偶数前面
- 【剑指offer】调整数组顺序使奇数位于偶数前面
- 剑指offer|调整数组顺序使奇数位于偶数前面
- 《剑指offer》调整数组顺序使奇数位于偶数前面
- 剑指Offer:调整数组顺序使奇数位于偶数前面
- 剑指offer - 调整数组顺序使奇数位于偶数前面
- 【剑指offer】调整数组顺序使奇数位于偶数前面
- VideoView控制音量(静音\恢复)
- id3决策树
- java byte数组打印
- 数据库切分(7)之一种支持自由规划无须数据迁移和修改路由代码的Sharding扩容方案
- 计算机修炼之路------炼气一层的小菜鸟有话说
- 剑指Offer [13] 调整数组顺序使奇数位于偶数前面
- ES性能调优权威指南(篇三)
- Eclipse如何安装插件
- 深入浅出HTTP
- Leetcode#21. Merge Two Sorted Lists (归并排序之单链表)
- 在Eclipse搭建Hibernate框架
- PHP中的scalar
- 658. Find K Closest Elements(快排+折半查找)
- float和double的精度和字节数各是多少