From ba2db6a59e87a5abfdf22e6ccae0f49cb0b7fc9e Mon Sep 17 00:00:00 2001 From: Sami Date: Tue, 12 Nov 2024 10:25:03 -0500 Subject: [PATCH] fix: JumpingClounds --- JumpingClouds/JumpingClouds.java | 87 ++++++++++++++++++++++++++++++++ 1 file changed, 87 insertions(+) create mode 100644 JumpingClouds/JumpingClouds.java diff --git a/JumpingClouds/JumpingClouds.java b/JumpingClouds/JumpingClouds.java new file mode 100644 index 0000000..1f5ba40 --- /dev/null +++ b/JumpingClouds/JumpingClouds.java @@ -0,0 +1,87 @@ +import java.util.HashMap; +import java.util.List; +import java.util.Map; + +/** + * JumpingClouds + * There is a new mobile game that starts with consecutively numbered clouds. + * Some of the clouds are thunderheads and others are cumulus. The player can + * jump on any cumulus cloud having a number that is equal to the number of the + * current cloud plus or + * + * . The player must avoid the thunderheads. Determine the minimum number of + * jumps it will take to jump from the starting postion to the last cloud. It is + * always possible to win the game. + * + * For each game, you will get an array of clouds numbered + * if they are safe or + * + * if they must be avoided. + * + * Example + * Index the array from . The number on each cloud is its index in the list so + * the player must avoid the clouds at indices and . They could follow these two + * paths: or . The first path takes jumps while the second takes . Return + * + * . + * + * Function Description + * + * Complete the jumpingOnClouds function in the editor below. + * + * jumpingOnClouds has the following parameter(s): + * + * int c[n]: an array of binary integers + * + * Returns + * + * int: the minimum number of jumps required + * + * Input Format + * + * The first line contains an integer + * , the total number of clouds. The second line contains space-separated binary + * integers describing clouds where + * + * . + * + * Constraints + * + * Output Format + * + * Print the minimum number of jumps needed to win the game. + * + * Sample Input 0 + * + * 7 + * 0 0 1 0 0 1 0 + * + * Sample Output 0 + * + * 4 + * + */ +public class JumpingClouds { + public static void main(String[] args) { + + int[] steps = { 0, 0, 0, 0, 0, 1, 0 }; + System.out.println(JumpsCount(steps)); + } + + private static int JumpsCount(int[] clounds) { + + int jumps = 0; + int i = 0; + while (i < clounds.length - 1) { + if (i + 2 == clounds.length || clounds[i + 2] == 1) { + i++; + jumps++; + } else { + i += 2; + jumps++; + } + } + return jumps; + } + +}