网站企业快速备案,韩国优秀网站设计欣赏,网络系统分类,很有质感的网站华为OD统一考试A卷B卷 新题库说明 你收到的链接上面会标注A卷还是B卷。目前大部分收到的都是B卷。 B卷对应20022部分考题以及新出的题目#xff0c;A卷对应的是新出的题目。 我将持续更新最新题目 获取更多免费题目可前往夸克网盘下载#xff0c;请点击以下链接进入#xff…华为OD统一考试A卷B卷 新题库说明 你收到的链接上面会标注A卷还是B卷。目前大部分收到的都是B卷。 B卷对应20022部分考题以及新出的题目A卷对应的是新出的题目。 我将持续更新最新题目 获取更多免费题目可前往夸克网盘下载请点击以下链接进入 我用夸克网盘分享了「华为OD题库Java.zip」点击链接即可保存。打开「夸克APP」 链接https://pan.quark.cn/s/f59329c0173b 提取码3p8Y 题目类型数组 题目描述 给定一个乱序的数组删除所有的重复元素使得每个元素只出现一次并且按照出现的次数从高到低进行排序相同出现次数按照第一次出现顺序进行先后排序。
输入描述 一个数组
输出描述 去重排序后的数组
示例 1 输入 1,3,3,3,2,4,4,4,5 输出 3,4,1,2,5
备注 数组大小不超过100 数组元素值大小不超过100
思路分析 又一个哈希表的排序这个排序相对简单只需要对value降序排key读入的顺序就是第一次出现索引的先后顺序。
HashMap的排序需要先把HashMap转为list再对list进行排序。
参考代码
import java.util.*;public class arraySetSort {public static void main(String[] args) {Scanner in new Scanner(System.in);String[] str in.nextLine().split(,);int[] ints new int[str.length];for (int i 0; i ints.length; i) {ints[i] Integer.parseInt(str[i]);}HashMapInteger, Integer map new HashMap();for (int i 0; i ints.length; i) { // 统计数字出现的频次map.put(ints[i], map.getOrDefault(ints[i], 0) 1);}// Map按value排序先将map转为list,再排序listListMap.EntryInteger,Integer list new ArrayList(map.entrySet());list.sort((o1, o2) - o2.getValue() - o1.getValue());for (int i 0; i list.size(); i) {Map.EntryInteger, Integer entry list.get(i);if (i ! list.size() - 1) {System.out.print(entry.getKey() ,);} else {System.out.println(entry.getKey());}}}
}