LeetCode刷题11-数组去重和排序


package com.example.demo.leetcode.case202208;

import java.util.Arrays;
import java.util.Comparator;
import java.util.Scanner;
import java.util.stream.Collectors;

/**
 * 功能描述
 *
 * @author ASUS
 * @version 1.0
 * @Date 2022/8/6
 */
public class Main2022080606 {

    /*
    输入有2行,第1行为一个正整数,表示需要输入n个数。(n<=100且输入的数不大于1000)。第2行有n个用空格隔开的正整数。
    输出也是两行,第1行为一个正整数j,表示去重后剩余有j个数。第2行为j个用空格隔开的正整数,为上述输入数去重后从小到大已排好序的这样一个序列。
    输入
    10
    20 40 32 67 40 20 89 300 400 15
    输出
    8
    15 20 32 40 67 89 300 400
    */
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        // 获取输入信息
        String total = scanner.nextLine();
        String str = scanner.nextLine();

        // 去重后元素总数
        System.out.println(Arrays.asList(str.split(" "))
                .stream()
                .distinct()
                .collect(Collectors.toList()).size());

        // 排序后数据
        System.out.println(Arrays.asList(str.split(" "))
                .stream()
                .distinct()
                .sorted(Comparator.comparingInt(Integer::parseInt))
                .collect(Collectors.joining(" ")));

    }

}

LeetCode刷题11-数组去重和排序

 

原创文章,作者:ItWorker,如若转载,请注明出处:https://blog.ytso.com/279176.html

(0)
上一篇 2022年8月6日
下一篇 2022年8月6日

相关推荐

发表回复

登录后才能评论