Three of the most tested array algorithms on the AP exam. These patterns appear in FRQs almost every year, often combined with other conditions.
Finding the Maximum
int[] scores = {72, 95, 88, 61, 99, 84};
// Initialize max to FIRST element, not 0
int max = scores[0];
for (int i = 1; i < scores.length; i++) {
if (scores[i] > max) {
max = scores[i];
}
}
System.out.println("Max: " + max); // 99
⚠ Don’t Initialize to 0: If all values are negative, initializing max = 0 gives the wrong answer. Always initialize to arr[0] or use Integer.MIN_VALUE.
Finding the Minimum
int min = scores[0];
for (int score : scores) {
if (score < min) {
min = score;
}
}
System.out.println("Min: " + min); // 61
Counting Elements that Meet a Condition
int count = 0;
for (int score : scores) {
if (score >= 90) {
count++;
}
}
System.out.println("Count of 90+: " + count); // 2
📝 Practice Question 1
Consider an array vals containing only negative integers. Which initialization for finding the maximum value is correct?
📝 Practice Question 2
What does the following method return when called with {3, 7, 2, 7, 5}?
public static int mystery(int[] arr) {
int count = 0;
int max = arr[0];
for (int v : arr) if (v > max) max = v;
for (int v : arr) if (v == max) count++;
return count;
}
✅ Exam Tip: FRQ questions often ask for max index (not just max value) or require you to count occurrences of the max. Track the index too: int maxIndex = 0; and update it inside your if statement.
Whether you're a student, parent, or teacher — I'd love to hear from you.
Just want free AP CS resources?
Enter your email below and check the subscribe box — no message needed.
Students get daily practice questions and study tips. Teachers get curriculum resources and teaching strategies.
Typically responds within 24 hours
✓
Message Sent!
Thanks for reaching out. I'll get back to you within 24 hours.