# Introduction to the Frog Jump Game

Get an overview of the frog jump game that we'll create in this chapter.

We'll cover the following

## What is the game about?

This projects is built with greedy algorithms. Let's start with the problem statement below:

We are given an array of positive integers, ranging from 1 to 3. Consider each index of the array to be an island. We are standing on the first island (index) of the array and we need to reach the last island (index) of the array. Each integer in the array denotes the maximum number of jumps that can be taken to reach the next island (index). We need to implement a solution to determine the minimum number of steps (islands) required to reach the last island (index), and return an array of integers denoting the number of jumps taken from an island (index) to reach the next island from the first island (index).

Here's an example to illustrate the problem statement. Suppose that the given array of jumps is as shown below:

[2, 2, 1, 2, 1, 3, 3, 3, 1, 2, 1, 3, 3, 1, 3, 1, 3, 2, 2, 2, 1, 2, 1, 1, 2, 2, 2, 1, 1]
Input jumps array

Now, we can see that there are 30 elements in the array, which means that we have 30 islands. Each integer denotes the maximum number of jumps that can be taken from that island. To reach the last island with minimum steps (islands), the solution array would look as shown below:

[1, 2, 2, 1, 3, 2, 3, 2, 3, 2, 2, 1, 2, 2, 1]
Solution array

The array above shows that we take a jump of 1 from the first island and reach the second island. Then, from the second island, we take a jump of 2 and reach the fourth island. From the fourth island, we take a jump of 2 and reach the sixth island; and so on. So, we know the path we took to reach the last island is the minimum number of steps (islands).

So—what exactly we are going to build? Like we did with the Sudoku project, we'll be building the basics of the Frog Jump game, as well as an algorithm that solves the game. We'll be creating a frog, which will be placed on one island in a series of islands. With each island, we'll also provide the maximum number of jumps that can be taken to another island. Then, our frog will start jumping based on the solution array that we will generate and reach the last island in as little steps as possible.

You can explore the project below: