在随机数组中找到10个最高频率

时间:2019-04-29 01:53:34

标签: java arrays sorting frequency

该项目的描述是创建一个1至50个1000个随机数字的数组,并按频率显示10个最高数字。我减少了代码中的数字,以便于测试。

我用随机数创建了数组,并显示了每个数字出现了多少次。

我在弄清楚如何将数字从最高到最高排序时遇到麻烦。

任何帮助将不胜感激。

import java.util.*;  //import random class and arrays


class MaxArray{
   public static void main(String[]args){

      Random rand = new Random(1);  //create random object and sets seed to one

      int[] randArray = new int [51];
      int[] newArray = new int[51];

      for(int i = 0; i < randArray.length; i++){
         randArray[i] = rand.nextInt(50) + 1; // returns a single random integer between 1 and 50
         }
      Arrays.sort(randArray);
      System.out.println(Arrays.toString(randArray));

      for(int j = 0; j < randArray.length; j++){
         newArray[randArray[j]] += 1;     
         }
      System.out.println(Arrays.toString(newArray));

      for(int k = 0; k < newArray.length; k++){
         System.out.println("Number " + k + " occurred " + newArray[k] + " times");
         }    
   }// end main
}//end class

1 个答案:

答案 0 :(得分:-4)

这就是您从最高到最低的方式

const msg = {
        to: process.env.EMAIL_TO,
        from: process.env.EMAIL_FROM,
        templateId: process.env.SENDGRID_TEMPLATE_ID,
        dynamic_template_data: {
            org_url: `${process.env.ORG_URL}/${key}`,
        },
        substitutions: {
            '-org_url-': `${process.env.ORG_URL}/${key}`
        }
    };

这是您找到10个最高数字的方法:

for (int i = randArray.length-1; i >=0 ; i--) {
        System.out.print(randArray[i]+" ");

}