题解 | #输入整型数组和排序标识,按照升序或降序进行排序#

输入整型数组和排序标识,对其元素按照升序或降序进行排序

https://www.nowcoder.com/practice/dd0c6b26c9e541f5b935047ff4156309

import java.util.*;

// 注意类名必须为 Main, 不要有任何 package xxx 信息
public class Main {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        int n = sc.nextInt();
        Integer[] arr = new Integer[n]; //降序时Comparator接口/lambda需要包装类
        for(int i=0; i<n; i++){
            arr[i] = sc.nextInt();
        }
        int flag = sc.nextInt();

        if(flag == 0){
            Arrays.sort(arr);
        }else if(flag == 1){
            /*
            Arrays.sort(arr, new Comparator<Integer>(){
                public int compare(Integer a, Integer b){
                    return b-a;
                }
            });
            */
            Arrays.sort(arr, (a,b) -> (a>b ? -1 : 1)); //改写为lambda格式,效果一致
        }else{
            return;
        }

        StringBuffer sb = new StringBuffer();
        for(int j=0; j<n; j++){
            sb.append(arr[j]);
            if(j < n-1){
                sb.append(" ");
            }
        }
        System.out.println(sb.toString());
    }
}

全部评论

相关推荐

点赞 评论 收藏
分享
点赞 收藏 评论
分享
牛客网
牛客企业服务