关注
//用的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
相关推荐
点赞 评论 收藏
分享
点赞 评论 收藏
分享
牛客热帖
更多
正在热议
更多
# 实习的你做了哪些离谱的工作 #
6729次浏览 97人参与
# 小厂实习有必要去吗 #
77493次浏览 368人参与
# MiniMax求职进展汇总 #
1636次浏览 25人参与
# 简历第一个项目做什么 #
5332次浏览 84人参与
# Prompt分享 #
928次浏览 32人参与
# 为了入行xx岗,我学了__ #
3946次浏览 62人参与
# 被说“做题家”,你的反应是_____? #
583次浏览 18人参与
# 听到哪句话代表面试稳了OR挂了? #
124235次浏览 558人参与
# 工作压力大,你会干什么? #
9144次浏览 230人参与
# 找实习记录 #
19610次浏览 349人参与
# 如果不上班,你会去做什么 #
4722次浏览 203人参与
# 分享一个让你热爱工作的瞬间 #
57042次浏览 482人参与
# 邪修省钱套路 #
5574次浏览 197人参与
# AI让你的思考变深了还是变浅了? #
3258次浏览 93人参与
# 我的求职精神状态 #
419196次浏览 3071人参与
# 通信硬件薪资爆料 #
1199937次浏览 7192人参与
# 你都见过什么样的草台班子? #
686次浏览 22人参与
# 如果让你发明个APP,你会想做什么 #
1040次浏览 28人参与
# 你找工作经历过哪些骗局? #
27217次浏览 217人参与
# 我的付费上班经历 #
10180次浏览 171人参与
# 参加哪些竞赛对找工作有帮助? #
6128次浏览 117人参与