• 922-按奇偶校验排序数组II


    给定一组A 非负整数,A中的一半整数是奇数,而整数的一半是偶数。 对数组进行排序,以便每当A[i]奇数时,i都是奇数; 无论何时A[i]均匀,i均匀。 您可以返回满足此条件的任何答案数组。

    例1: 输入:[4,2,5,7]  输出:[4,5,2,7]  说明: [4,7,2,5],[2,5,4,7],[2,7,4] ,5]也将被接受。   

    注意:

       2 <= A.length <= 20000     

       A.length % 2 == 0 

       0 <= A[i] <= 1000

    解法一:使用三次while循环,第二次跟第三次分别是为了查找出数组中索引跟索引位置数组元素奇偶不同时索引的值。然后将两个索引所谓数组元素互换。
     public int[] sortArrayByParityII(int[] A) {
                int i=0;
                int j=1;
                int m=A.length;
                while(i<m&&j<m)
                {
                    while (i<m&&A[i]%2==0)
                    {
                        i+=2;
                    }
                    while (j<m&&A[j]%2==1){
                        j+=2;
                    }
                    if (i<m&&j<m)
                    {
                        int temp=A[i];
                        A[i]=A[j];
                        A[j]=temp;
                    }
                }
                return A;
            }
    
    
    解法2:只使用一个while循环,此循环用于得出索引跟索引元素不同时的索引值。然后通过if判断当索引小于数组长度且偶索引元素为奇,奇索引元素为偶时交换元素。
      public int[] sortArrayByParityII(int[] A) {
                int i=0;
                int j=1;
                int m=A.length;
                while(i<m&&j<m)
                {
                    if (i<m&&A[i]%2==0)
                    {
                        i+=2;
                    }
                    if (j<m&&A[j]%2==1){
                        j+=2;
                    }
                    if (i<m&&j<m&&A[i]%2==1&&A[j]%2==0)
                    {
                        int temp=A[i];
                        A[i]=A[j];
                        A[j]=temp;
                    }
                }
                return A;
            }
  • 相关阅读:
    【卷积】卷积的理解
    【cs231n】神经网络学习笔记3
    【cs231n】神经网络笔记笔记2
    【cs231n】神经网络学习笔记1
    【cs231n】卷积神经网络
    【cs231n】反向传播笔记
    【cs231n】最优化笔记
    【cs231n】图像分类笔记
    【cs231n】线性分类笔记
    关于struts中Ognl和iterator配合再次理解
  • 原文地址:https://www.cnblogs.com/dloading/p/10720646.html
Copyright © 2020-2023  润新知