I came across another LeetCode problem that I felt was worth exploring here. It's called 'Count Number of Teams'.

The problem tells us that there will be an input array of unique integers; each integer representing an individual's rating. We must return the number of 'teams' that can be formed from the input array while satisfying the following criteria:

- Each team consists of three members
- A team must be represented in ascending order consistent with each member's index in the input array (indexOfA < indexOfB < indexOfC)
- A team's ratings must be ascending or descending while adhering to our 2nd bullet point (ratingA < ratingB < ratingC OR ratingA > ratingB > ratingC)

For example:

If given an input array of `[2,5,3,4,1]`

, our return would be `3`

. This is because we can construct three valid teams from this array. The first is `(2, 3, 4)`

because 2 < 3 & 3 < 4 AND indexOf(2) < indexOf(3) & indexOf(3) < indexOf(4). Our second team is `(5, 3, 1)`

because 5 > 3 & 3 > 1 AND indexOf(5) < indexOf(3) & indexOf(3) < indexOf(1). The last valid team is `(5, 4, 1)`

because 5 > 4 & 4 > 1 AND indexOf(5) < indexOf(4) & indexOf(4) < indexOf(1).

I went about solving this problem with brute force. I constructed three `for`

loops to check every possible combination of a team from the input array. If the team satisfies the ascending/descending requirement then I increment my `result`

variable.

When we exit the outside `for`

loop we should have counted every valid team. The last step is to return the counter, which I named `result`

.

```
var numTeams = function(rating) {
let result = 0;
for (let i = 0; i < rating.length; i++) {
for (let y = i + 1; y < rating.length; y++) {
for (let z = y + 1; z < rating.length; z++) {
if ((rating[i] < rating[y] && rating[y] < rating[z]) || (rating[i] > rating[y] && rating[y] > rating[z])) result += 1;
}
}
}
return result;
};
```

I find these types of problems to be very helpful in forcing me to consider how to dissect a problem and I look forward to working through more.

## Discussion