# Array Algorithms (FRQs)¶

In this lesson, you will study different algorithms using arrays. Here are a few common tasks involving arrays:

• Determine the minimum or maximum value in an array

• Compute a sum, average, or mode of array elements

• Search for a particular element in the array

• Determine if at least one element has a particular property

• Determine if all elements have a particular property

• Access all consecutive pairs of elements

• Determine the presence or absence of duplicate elements

• Determine the number of elements meeting specific criteria

• Shift or rotate elements left or right

• Reverse the order of the elements

Here are two common array traversal loops that can be used for these algorithms:

```for (int value : array)
{
if (value ....)
...
}

for(int i=0; i < array.length; i++)
{
if (array[i] ....)
...
}
```

The code below finds the minimum (smallest element) in an array. Try it in the Java visualizer with the CodeLens button. Can you change it to find the maximum element instead? Can you also compute the average of the elements?

The code below rotates array elements to the left. Note that you need to use an indexed loop for this because you need to change the array and access two elements at different indices. Try it in the Java visualizer with the CodeLens button. Can you change it to rotate the elements to the right instead?

We encourage you to work in pairs or groups to tackle the following challenging FRQ problems and take them one step at a time. These will get easier with practice!

You have attempted of activities on this page