package com.fishercoder.solutions;

/**
 * 45. Jump Game II
 *
 * Given an array of non-negative integers, you are initially positioned at the first index of the array.
 * Each element in the array represents your maximum jump length at that position.
 * Your goal is to reach the last index in the minimum number of jumps.

 For example:
 Given array A = [2,3,1,1,4]

 The minimum number of jumps to reach the last index is 2. (Jump 1 step from index 0 to 1, then 3 steps to the last index.)

 Note:
 You can assume that you can always reach the last index.

 */
public class _45 {

  public static class Solution1 {
    public int jump(int[] nums) {
      int stepCount = 0;
      int lastJumpMax = 0;
      int currentJumpMax = 0;
      for (int i = 0; i < nums.length - 1; i++) {
        currentJumpMax = Math.max(currentJumpMax, i + nums[i]);
        if (i == lastJumpMax) {
          stepCount++;
          lastJumpMax = currentJumpMax;
        }
      }
      return stepCount;
    }
  }
}

@@ -33,536 +33,8 @@
 s;%0A%0A
-/**%0A * 45. Jump Game II%0A *%0A * Given an array of non-negative integers, you are initially positioned at the first index of the array.%0A * Each element in the array represents your maximum jump length at that position.%0A * Your goal is to reach the last index in the minimum number of jumps.%0A%0A For example:%0A Given array A = %5B2,3,1,1,4%5D%0A%0A The minimum number of jumps to reach the last index is 2. (Jump 1 step from index 0 to 1, then 3 steps to the last index.)%0A%0A Note:%0A You can assume that you can always reach the last index.%0A%0A */%0A
 publ
@@ -48,17 +48,18 @@
 s _45 %7B%0A
-%0A
+  
   public
@@ -84,16 +84,20 @@
 tion1 %7B%0A
+    
     publ
@@ -118,24 +118,30 @@
 t%5B%5D nums) %7B%0A
+      
       int st
@@ -155,24 +155,30 @@
  = 0;%0A      
+   
+   
 int lastJump
@@ -188,24 +188,30 @@
  = 0;%0A      
+  
+    
 int currentJ
@@ -228,16 +228,22 @@
 ;%0A      
+ 
+     
 for (int
@@ -286,16 +286,24 @@
         
+     
+   
 currentJ
@@ -350,16 +350,24 @@
 ms%5Bi%5D);%0A
+        
         
@@ -400,16 +400,26 @@
         
+        
+  
 stepCoun
@@ -423,16 +423,26 @@
 ount++;%0A
+          
         
@@ -481,24 +481,32 @@
         
+       
+ 
 %7D%0A      
 %7D%0A      
@@ -497,24 +497,36 @@
 %7D%0A      
+    
-%7D%0A
+  %7D%0A   
       
+   
 return s
@@ -539,16 +539,22 @@
 nt;%0A    
-%7D%0A
+    %7D%0A  
   %7D%0A%7D%0A

refactor 45