---
# System prepended metadata

title: 45. Jump Game II
tags: [Leetcode, '2021']

---

---
title: 45. Jump Game II
tags: Leetcode,2021
---
# 【LeetCode】45. Jump Game II
## Description
>Given an array of non-negative integers nums, 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.
You can assume that you can always reach the last index.

>給一非負整數陣列，你一開始在陣列起始的位置。
陣列中的每個元素，代表你在這一格最遠可以跳多遠。
你的目標是跳到陣列的最後一格，請找出你最少只需要跳幾次。

 

## Example 1:

```
Input: nums = [2,3,1,1,4]
Output: 2
Explanation: 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.
Example 2:

Input: nums = [2,3,0,1,4]
Output: 2
 
```

## Constraints:

```
1 <= nums.length <= 1000
0 <= nums[i] <= 105
```
## Code
```
public class Solution {
    public int Jump(int[] nums) 
    {
        int jumps = 0;
        int furthest = -1, target = 0;
        for (int i = 0; i < nums.Length - 1; i++)
        {
            furthest = Math.Max(nums[i] + i, furthest);
            if (i == target)
            {
                jumps++;
                target = furthest;
            }
        }
        return jumps;        
    }
}
```