题解 | #元素按照升序或降序进行排序#

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

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

import java.util.Scanner;

import java.util.PriorityQueue;
import java.util.Arrays;
import java.util.Comparator;
// 注意类名必须为 Main, 不要有任何 package xxx 信息
public class Main {
    public static void main(String[] args) {
        Scanner in = new Scanner(System.in);

        // 注意 hasNext 和 hasNextLine 的区别
        int count = in.nextInt();
        int[] array = new int[count];
        int index = 0;
        while (index < count) { // 注意 while 处理多个 case

            array[index] = in.nextInt();
            index++;
        }
        int operate = in.nextInt();
        Arrays.sort(array);
        System.out.println(solution(array, 0 == operate ? true : false));
    }

    public static String solution(int[] array, boolean asc) {

        PriorityQueue<Integer> queue;
        if (asc) {
            queue  = new PriorityQueue<>();
        } else {
            queue = new PriorityQueue<>(new Comparator<Integer>() {
                public int compare(Integer a, Integer b) {
                    return a > b ? -1 : 1;
                }
            });
        }
        StringBuffer sbf = new StringBuffer();
        for (Integer element : array) {
            queue.add(element);

        }
        while (!queue.isEmpty()) {
            sbf.append(queue.poll());
            sbf.append(" ");
        }
        sbf.deleteCharAt(sbf.length() - 1);
        return sbf.toString();
    }
}

全部评论

相关推荐

2024-12-23 06:50
门头沟学院 Java
给点吧求求了:3点发的帖子,害怕😰
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客企业服务