zoukankan      html  css  js  c++  java
  • 算法总结之 奇数下标都是奇数或者偶数下标都是偶数

      给定一个长度不小于2的数组arr,实现一个函数调整arr, 要么让所有的偶数下标都是偶数,要么让所有奇数下标都是奇数

      这道题 在不停的交换和判断中 走向了成功

      初始值  enven =0   odd=1  每次交换完了对应的 +2   

       看代码,一目了然:

      

    package TT;
    
    public class Test75 {
    
        public static void modify(int[] arr){
            
            if(arr==null || arr.length<2){
                 return;
            }
    
            int even = 0;
            int odd =1;
            int end = arr.length-1;
            while(even <=end && odd<=end){
                
                if((arr[end]&1)==0){
                    swap(arr,end,even);
                    even +=2;
                }else {
                    swap(arr,end,odd);
                    odd+=2;
                }    
            }        
        }
        
        public static void swap(int[] arr, int index1, int index2){
            int tmp = arr[index1];
            arr[index1]=arr[index2];
            arr[index2]=tmp;
        }
        public static void main(String[] args){
            int[] arr = new int[6];
             arr[0]=1;
             arr[1]=8;
             arr[2]=3;
             arr[3]=2;
             arr[4]=4;
             arr[5]=6;
             
             modify(arr);
             
             for (int i = 0; i < arr.length; i++) {
                System.out.println(arr[i]);    
            }
             
        }
        
    }

  • 相关阅读:
    机器人能都返回原点
    解码字母
    学习W3C
    字符重排
    字符串相加
    ARC107F Sum of Abs
    6830. 【2020.10.25提高组模拟】排列
    6828. 【2020.10.25提高组模拟】幂
    CF1434D Roads and Ramen
    2020 计蒜之道 线上决赛 C 攀登山峰
  • 原文地址:https://www.cnblogs.com/toov5/p/7491243.html
Copyright © 2011-2022 走看看