我只想到这种效率比较低的 import java.util.Arrays; import java.util.LinkedHashMap; import java.util.Scanner; import java.util.Set; public class Main {  public static void main(String[] args) {   Scanner sc=new Scanner(System.in);   String line=sc.nextLine();   String[] str=line.split(" ");   int n=str.length;   int[] array=new int[n];   for(int i=0;i<n;i++){    array[i]=Integer.parseInt(str[i]);   }   mySort(array);       }  private static void mySort(int[] array) {   LinkedHashMap<Integer,Integer> map=new LinkedHashMap<>();      int len=array.length;      for(int i=0;i<len;i++){    if(map.get(array[i])==null){     map.put(array[i], 1);    }else{     int count=map.get(array[i]);     count++;     map.put(array[i], count);    }   }        Set<Integer> key=map.keySet();   int n=key.size();   int[] value=new int[n];   int j=0;   for(int k:key){    value[j]=map.get(k);    j++;   }      Arrays.sort(value);      for(int i=n-1;i>=0;i--){    for(int k:key){     if(value[i]==map.get(k)){      for(int z=0;z<value[i];z++){       System.out.print(k);       System.out.print(" ");      }      map.put(k, 0);     }    }   }     } }
点赞 1

相关推荐

牛客网
牛客网在线编程
牛客网题解
牛客企业服务