Jump Game II
Given an array of non-negative integers, you is initially positioned at the first index of the array.
Each element of the array represents your maximum jump length is 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 and then 3 steps to the last index.)
Ideas: The topic is a typical greedy algorithm, the problem is not difficult, greedy strategy is the next step forward is where to reach the furthest place.
The detailed code is as follows:
public class Solution {public int jump (int[] nums) { /** * The greedy method is used to solve the problem, * The greedy strategy is to walk the maximum number of steps in each step of the stride */< C5/>if (nums.length <= 1) { return 0; } int index,max = 0; int step = 0,i= 0; while (I < nums.length) { //If you can go directly to the end, direct step +1 ends if (i + nums[i] >= nums.length-1) { step++; break; } max = 0;//Each time the index = i+1;//is initialized, the minimum forward 1 steps for (int j = i+1; j-i <= nums[i];j++) {//Search for the furthest step within the maximum step if ( Max < Nums[j] + j-i) { max = Nums[j] + j-i;//record max index = j;//record max indexes } } i = index;//go straight to the farthest step++;//step +1 } return step;} }
Copyright NOTICE: This article for Bo Master original article, without Bo Master permission not reproduced.
Leetcode 45.Jump Game II (jumping game) ideas and methods of solving problems