面试题:给你一int数组,int[] arr = new int{,4,5,1,6,3,7,2},要求输出结果为7,1,6,2,5,3,4
写出代码
麻烦各位大侠!

解决方案 »

  1.   

    public static void main(String args[]) {
    int[] arr = { 4, 5, 1, 6, 3, 7, 2 };
    Arrays.sort(arr);
    int length = arr.length;
    int[] arr2 = new int[length];
    for (int i1 = length - 1, i2 = 0; i2 < length; i2++) {
    arr2[i2] = arr[i1];
    if (i1 < length / 2)
    i1 = length - 2 - i1;
    else
    i1 = length - 1 - i1;
    }
    System.out.println(Arrays.toString(arr2));
    }
      

  2.   


    import java.util.*;
    public class Sort{
        public static void main(String args[]){
        Integer[] arr = new Integer[]{4,5,1,6,3,7,2};//要求输出结果为7,1,6,2,5,3,4 
    Arrays.sort(arr);
    System.out.println(Arrays.toString(arr));
    for(int i=0;i<arr.length;i++){
        System.out.println(arr[arr.length-i-1]);
    if(arr.length-i-1==i)break;
    System.out.println(arr[i]);
    if(arr.length-i-1==i+1)break; 
    }   
    }
    }
      

  3.   

    import java.util.Arrays;public class TestMulSort { /**
     * @param args
     */
    public static void main(String[] args) {
    // TODO Auto-generated method stub

    int[] arr = {4, 5, 1, 6, 3, 7, 2 };
    Arrays.sort(arr);
    int[] arrs = new int[arr.length];
    int k=0;
    for(int i=0;i<arr.length;i++){
    int m = 0+i;
    int n = arr.length-1-i;
    if(m>n){
    break;
    }else if(m==n){
    arrs[k++] = arr[m];
    }else{
    arrs[k++] = arr[n];
    arrs[k++] = arr[m];
    }

    }

    for(int i=0;i<arrs.length;i++){
    System.out.print(arrs[i]+" ");
    }

    }}