Array Mode Calculation Logic
Which of the following can replace /* missing condition 1 / and / missing condition 2 */ so the code segment works as intended?
Consider the mode method, which is intended to return the most frequently occurring value (mode) in its int[] parameter arr. For example, if the parameter of the mode method has the contents {6, 5, 1, 5, 2, 6, 5}, then the method is intended to return 5.
/** Precondition: arr.length >= 1 */
public static int mode(int[] arr)
{
int modeCount = 1;
int mode = arr[0];
for (int j = 0; j < arr.length; j++)
{
int valCount = 0;
for (int k = 0; k < arr.length; k++)
{
if ( /* missing condition 1 */ )
{
valCount++;
}
}
if ( /* missing condition 2 */ )
{
modeCount = valCount;
mode = arr[j];
}
}
return mode;
}
Which of the following can replace /* missing condition 1 */ and /* missing condition 2 */ so the code segment works as intended?
A
arr[j] != arr[k] | modeCount > valCount
B
arr[j] != arr[k] | modeCount != valCount
C
arr[j] == arr[k] | valCount > modeCount
D
arr[j] == arr[k] | modeCount > valCount
APFIVE