Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import java.util.Random;
- import java.util.Arrays;
- public class MostFrequentNumbers {
- /* Sometimes there is more than one value that occurs most often in a random array */
- static final int N = 40; // number of numbers in array
- static final int MAX = 4 * N; // range is zero to MAX inclusive
- static int[] counts = new int[MAX+1]; // number of occurances for each number
- public static int getMaxCount(int[] n) {
- // determine the maximum occurances of any number in array
- int maxCount = 0; // count of most occurances
- for (int i=0; i<n.length; i++) {
- counts[n[i]]++;
- if (maxCount<counts[n[i]]) {
- maxCount = counts[n[i]];
- } // end if
- } // end for
- return maxCount;
- } // end getMaxCount()
- public static void printMostFrequent(int[] n) {
- // print the numbers which appear most often
- int mostTimes = getMaxCount(n);
- boolean[] printed = new boolean[MAX+1]; // so that numbers are only printed once
- for (int i=0; i<n.length; i++) {
- if (counts[n[i]]==mostTimes && !printed[n[i]]) {
- System.out.print(n[i]+" ");
- printed[n[i]]= true; // so we don't print it again
- } // end if
- } // end for
- System.out.println();
- } // end printMostFrequent()
- public static void main(String[] args) {
- Random ran = new Random();
- int[] A = new int[N];
- // populate array with random numbers
- for (int i=0; i<N; i++) {
- A[i] = ran.nextInt(MAX+1);
- } // for
- Arrays.sort(A);
- System.out.println( Arrays.toString(A));
- System.out.print("Most frequently occuring number(s): ");
- printMostFrequent(A);
- } // main()
- } // class MostFrequentNumbers
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement