奇偶分割数组

原创 2016年05月31日 16:40:22

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

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

public class Solution {
    /**
     * @param nums: an array of integers
     * @return: nothing
     * "双指针概念 从两头开始"

     * 左边找到第一个偶数与右边找到的第一个奇数交换
     */
    public void partitionArray(int[] nums) {
        // write your code here;
        int temp;
        int i = 0;
        int j = nums.length - 1;

        while (i < j){
            while(nums[i]%2 == 1){
                i++;
            }
             while(nums[j]%2 == 0){
                j--;
            }
            if(i<j){
                temp = nums[i];
                nums[i] = nums[j];
                nums[j] = temp;
            }
      /*  while (i < j){//直接找到左边第一个偶数,与后面的交换 交换之后继续检查交换得来的数
            if (nums[i] % 2 == 0){
                 temp = nums[i];
                 nums[i] = nums[j];
                 nums[j] = temp;
                 j--;
                }
            else{
                i++;
            }
        }*/
    
    }
}

版权声明:本文为博主原创文章,未经博主允许不得转载。

相关文章推荐

数组奇偶按照一定顺序排列

对一个数组,将数组中偶数从大到小排序,奇数从小到大排序,奇数和偶数交叉放且输出数组第一位放奇数,若奇数和偶数不等长,则把剩下的直接放到数组中。 #include #include using na...

用 Python实现链表的翻转,奇偶下标修改(利用数组,非常简单)

1. 首先是链表翻转 效果: 0->1->2->3 ...... ->9     变为   9->8->7->......->0 class NodeList: def __init__(...

助教:c/c++——数组元素奇偶排列:由此引发对if和while语句的简单问题的思考

我用到的教材是《c/c++语言》

Java数据结构与算法之数组排序——奇偶排序

思路: 它的思路是在数组中重复两趟扫描。 第一趟扫描选择所有的数据项对,a[j]和a[j+1],j是奇数(j=1,3,5,……)。 如果它们的关键字的值次序颠倒,就交换它们。 第二...

winform 奇偶分割源码

  • 2009-11-26 14:15
  • 17KB
  • 下载

对单链表分割为奇偶有序链表

原理: ①对原链表中数据进行奇偶分布,奇数在前偶数在后 ②对原链表进行遍历,直至遍历至偶数,进行分割 ③对分割后的链表进行排序/头插法建立带头结点的单链表函数/ LinkList *Creat...

1、使用快速枚举语法实现: //构建一个NSSMutableArray数组,用@”1”至@”100”进行填充。以NSLog依次打印数组中的内容,将此数组分为奇偶两数组,再打印两新数组中的元素。

1、使用快速枚举语法实现: //构建一个NSSMutableArray数组,用@”1”至@”100”进行填充。以NSLog依次打印数组中的内容,将此数组分为奇偶两数组,再打印两新数组中的元素。 ...

调整数组顺序实现:奇数在偶数前面 以及 “奇偶奇偶”相间

题目:输入一个整数数组,调整数组中数字的顺序,使得所有奇数位于数组的前半部分,所有偶数位于数组的后半部分。要求时间复杂度为O(n)。 利用快排的两种实现方法,一种是前后两个指针向中间移动,另外一种是...
  • cxllyg
  • cxllyg
  • 2012-05-31 16:19
  • 1837
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:深度学习:神经网络中的前向传播和反向传播算法推导
举报原因:
原因补充:

(最多只允许输入30个字)