41.0k views
0 votes
Lab Goal: This lab was designed to teach you more about processing lists and algorithms

Lab Description: Write a program that will go through a list to see which value occurs the most.f several values occur the same amount, return the first value found.
Sample Data
[-99,1,2,3,4,5, 6,6,6,6,6,7,8,9,10,12345,5,5,5,5]
[10,9,8,7,6,5,4,3,2,1,-99]
[10,20,30,40,50,10,10,40,30,20,10]
[32767]
[255,255]
[9,10,-88,100,-555, 1000]
[10,10,10,11,456,10,10,2,2,2,2,2,2,2]
[9, 8,7,6,5,4,3,2,0,-2,-989]
[12,12,15,18,21,23,1000]
[250,19,17,15,13,13,13,13,11,10,9,6,3,2,1,1]
[9,10,-8,10000,-5000,1000]

Files Needed:
MostFreqRunner.java
ListMostFreq.java

Sample Output
5
10
10
32767
255
9
2
-111
9
12
13
9

import java.util.*; public class ListMostFreq //method go will return the value //that appears the most //if several numbers all appear //the same number of times //return the first number found public static int go( List ray) return 0; import java.util.*; public class MostFreqRunner public static void main( String args)

1 Answer

1 vote

Final answer:

The lab involves writing a program that identifies the most frequent value in a list, where the program should return the first most frequent value found if there is a tie.

Step-by-step explanation:

The goal of the lab is to teach students about processing lists and algorithms by writing a program that identifies the value that occurs the most in a given list. If there are multiple values with the same highest frequency, the program should return the first one found. This principle is similar to working with a frequency table in statistics, where you might count how many students work a certain number of hours to find the most common number of hours worked. Here's an example of a method that could solve this problem:

public static int go(List ray) {

HashMap frequencyMap = new HashMap<>();

int maxCount = 0;

int mostFreqValue = ray.get(0);

for (int num : ray) {

int count = frequencyMap.getOrDefault(num, 0) + 1;

frequencyMap.put(num, count);

if (count > maxCount) {

maxCount = count;

mostFreqValue = num;

}

}

return mostFreqValue;

}

The program uses a HashMap to keep track of the frequency of each number, then iterates through the map to find the highest frequency and returns the corresponding number. This algorithm efficiently addresses the lab description by providing the most frequent value.

User Saroyanm
by
7.7k points