zoukankan      html  css  js  c++  java
  • 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;
            }
  • 相关阅读:
    使用babel插件集
    使用babel
    webpack基本配置
    vue-router参数传递
    路由(二) router-link的使用
    路由使用(一)
    获取DOM
    父组件传递值给子组件(一)
    定义全局组件
    Windows下更改MySQL数据库的存储位置
  • 原文地址:https://www.cnblogs.com/dloading/p/10720646.html
Copyright © 2011-2022 走看看