关注
//用的linkedhashmap
import java.util.ArrayList;
import java.util.Collections;
import java.util.Comparator;
import java.util.Iterator;
import java.util.LinkedHashMap;
import java.util.List;
import java.util.Map;
import java.util.Map.Entry;
import java.util.Scanner;
public class Main {
public static void sort(int[] num){
LinkedHashMap<Integer, Integer> map=new
LinkedHashMap<>();
for (int i = 0; i < num.length; i++) {
if (map.containsKey(num[i])) {
map.put(num[i], map.get(num[i])+1);
}
else {
map.put(num[i], 1);
}
}
List<Map.Entry<Integer, Integer>> list=new
ArrayList<>(map.entrySet());
Collections.sort(list,new
Comparator<Map.Entry<Integer, Integer>>() {
public int compare(Entry<Integer,
Integer>o1,Entry<Integer, Integer>o2){
return o2.getValue().compareTo(o1.getValue());
}
});
List<Integer> list1=new ArrayList<>();
List<Integer> list2=new ArrayList<>();
for(Entry<Integer, Integer> mapp:list){
list1.add(mapp.getKey());
list2.add(mapp.getValue());
}
int[] newnum=new int[num.length];
int j=0;
int index=0;
for (int i = 0; i < list2.size(); i++) {
while(index<list2.get(i)){
newnum[j]=list1.get(i);
j++;
index++;
}
index=0;
}
for (int i = 0; i < newnum.length; i++) {
System.out.println(newnum[i]);
}
}
public static void main(String[] args) {
int[] num={1,1,1,2,3,3,4};
sort(num);
}
}
查看原帖
点赞 1
相关推荐
点赞 评论 收藏
分享
07-09 16:27
门头沟学院 Java 点赞 评论 收藏
分享
牛客热帖
更多
正在热议
更多
# 计算机有哪些岗位值得去? #
9792次浏览 89人参与
# 电网笔面经互助 #
36037次浏览 350人参与
# 实习生的蛐蛐区 #
29525次浏览 218人参与
# 听劝,这个简历怎么改 #
177483次浏览 1150人参与
# 应届生,你找到工作了吗 #
15799次浏览 129人参与
# 你找工作的时候用AI吗? #
11675次浏览 118人参与
# 说说你知道的学历厂 #
20829次浏览 123人参与
# 总结:哪家公司面试体验感最好 #
51572次浏览 367人参与
# 学历贬值真的很严重吗? #
21751次浏览 161人参与
# 面试尴尬现场 #
16841次浏览 109人参与
# 入职第一天,你准备什么时候下班 #
62938次浏览 380人参与
# 大学生该如何认清当下的就业环境? #
88769次浏览 567人参与
# 下班后的时间你怎么安排 #
5366次浏览 61人参与
# 打工人的工作餐日常 #
48660次浏览 362人参与
# 哪些公司校招卡第一学历 #
61906次浏览 234人参与
# 哪一瞬间觉得自己长大了 #
5476次浏览 89人参与
# 社会教会你的第一课 #
22680次浏览 283人参与
# 你认为小厂实习有用吗? #
8264次浏览 80人参与
# 你觉得第一学历对求职有影响吗? #
92990次浏览 668人参与
# 研究所笔面经互助 #
75455次浏览 470人参与