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(" "))); } }
package com.example.demo.leetcode.case202208; import java.util.*; import java.util.stream.Collectors; /** * 功能描述 * * @author ASUS * @version 1.0 * @Date 2022/8/6 */ public class Main2022080607 { /* 给定一个乱序的数组,数组大小不超过100.删除所有的重复元素,使得每个元素只出现一次, 并且按照出现的次数从高到低进行排序,相同出现次数按照第一次出现顺序进行先后排序。 输入 1,3,3,3,2,4,4,4,5 输出 3,4,1,2,5 */ public static void main(String[] args) { // 获取输入信息 Scanner scanner = new Scanner(System.in); String str = scanner.nextLine(); // 记录元素以及重复个数 TreeMap<String, Integer> map = new TreeMap<>(); LinkedHashSet<String> elementList = new LinkedHashSet<>(); for (String skey : str.split(",")) { if (elementList.contains(skey)) { map.put(skey, map.get(skey) + 1); continue; } map.put(skey, 1); elementList.add(skey); } // 根据元素个数 由高到低排序 System.out.println(elementList.stream() .sorted(Comparator.comparingInt(map::get).reversed()) .collect(Collectors.joining(","))); } }
本文来自博客园,作者:chch213,转载请注明原文链接:https://www.cnblogs.com/chch213/p/16557643.html
分类:
LeetCode
标签:
java
, LeetCode刷题
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· winform 绘制太阳,地球,月球 运作规律
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· AI 智能体引爆开源社区「GitHub 热点速览」
· 写一个简单的SQL生成工具
· Manus的开源复刻OpenManus初探