1. Sum and Average
java
int[] scores = {85, 92, 78, 96, 88};
int sum = 0;
for (int score : scores) {
sum += score;
}
double average = (double) sum / scores.length;
System.out.println("Sum: " + sum); // Sum: 439
System.out.println("Average: " + average); // Average: 87.8
2. Finding Maximum and Minimum
java
int[] temps = {72, 68, 85, 59, 77, 91, 63};
int max = temps[0];
int min = temps[0];
for (int i = 1; i < temps.length; i++) {
if (temps[i] > max) {
max = temps[i];
}
if (temps[i] < min) {
min = temps[i];
}
}
System.out.println("High: " + max); // High: 91
System.out.println("Low: " + min); // Low: 59
Trace for max
3. Linear Search
java
public static int search(int[] arr, int target) {
for (int i = 0; i < arr.length; i++) {
if (arr[i] == target) {
return i; // found — return the index
}
}
return -1; // not found
}
java
int[] ids = {1001, 1042, 1015, 1078, 1023};
int pos = search(ids, 1015);
System.out.println(pos); // 2
int missing = search(ids, 9999);
System.out.println(missing); // -1
4. Counting Matches
java
int[] grades = {92, 65, 78, 88, 55, 91, 73, 60};
int failing = 0;
for (int grade : grades) {
if (grade < 70) {
failing++;
}
}
System.out.println(failing + " students failing"); // 3 students failing
5. Checking If All / Any Meet a Condition
Check if ALL elements pass
java
public static boolean allPassing(int[] grades) {
for (int grade : grades) {
if (grade < 70) {
return false; // found one that fails
}
}
return true; // none failed
}
Check if ANY element passes
java
public static boolean anyHonors(int[] grades) {
for (int grade : grades) {
if (grade >= 90) {
return true; // found one
}
}
return false; // none found
}
6. Shifting Elements
Shift left (remove first)
java
int[] arr = {10, 20, 30, 40, 50};
for (int i = 0; i < arr.length - 1; i++) {
arr[i] = arr[i + 1];
}
arr[arr.length - 1] = 0; // fill the last slot
// Result: {20, 30, 40, 50, 0}
Shift right (remove last)
java
int[] arr = {10, 20, 30, 40, 50};
for (int i = arr.length - 1; i > 0; i--) {
arr[i] = arr[i - 1];
}
arr[0] = 0; // fill the first slot
// Result: {0, 10, 20, 30, 40}
7. Reversing an Array
java
int[] arr = {1, 2, 3, 4, 5};
for (int i = 0; i < arr.length / 2; i++) {
int temp = arr[i];
arr[i] = arr[arr.length - 1 - i];
arr[arr.length - 1 - i] = temp;
}
// Result: {5, 4, 3, 2, 1}
Trace
8. Removing an Element at Index
java
public static int removeAt(int[] arr, int size, int index) {
for (int i = index; i < size - 1; i++) {
arr[i] = arr[i + 1];
}
return size - 1; // new logical size
}
java
int[] data = {10, 20, 30, 40, 50, 0, 0};
int size = 5;
size = removeAt(data, size, 2); // remove element at index 2
// data = {10, 20, 40, 50, 50, 0, 0}, size = 4
// Logical array: {10, 20, 40, 50}
9. Inserting an Element
java
public static int insertAt(int[] arr, int size, int index, int value) {
// Shift right from the end
for (int i = size; i > index; i--) {
arr[i] = arr[i - 1];
}
arr[index] = value;
return size + 1;
}
java
int[] data = {10, 20, 40, 50, 0, 0, 0};
int size = 4;
size = insertAt(data, size, 2, 30); // insert 30 at index 2
// data = {10, 20, 30, 40, 50, 0, 0}, size = 5
10. Duplicate detection
java
int[] arr = {5, 3, 8, 3, 7};
for (int i = 0; i < arr.length; i++) {
for (int j = i + 1; j < arr.length; j++) {
if (arr[i] == arr[j]) {
System.out.println("Duplicate: " + arr[i]
+ " at indices " + i + " and " + j);
}
}
}
// Output: Duplicate: 3 at indices 1 and 3
Algorithm summary table
Complete example: Frequency counter
java
public class FrequencyCounter {
public static void main(String[] args) {
int[] rolls = {3, 6, 2, 6, 4, 1, 3, 6, 5, 2, 4, 3};
// Count frequency of each die face (1-6)
int[] freq = new int[7]; // indices 0-6, ignore index 0
for (int roll : rolls) {
freq[roll]++;
}
// Display results
System.out.println("Die Roll Frequencies:");
for (int face = 1; face <= 6; face++) {
String bar = "";
for (int j = 0; j < freq[face]; j++) {
bar += "█";
}
System.out.println(" " + face + ": " + bar
+ " (" + freq[face] + ")");
}
// Find most common roll
int maxFace = 1;
for (int face = 2; face <= 6; face++) {
if (freq[face] > freq[maxFace]) {
maxFace = face;
}
}
System.out.println("Most common: " + maxFace);
}
}
Die Roll Frequencies:
1: █ (1)
2: ██ (2)
3: ███ (3)
4: ██ (2)
5: █ (1)
6: ███ (3)
Most common: 3
AP Exam Tips
- •
- •
- •
- •
- •
- •