1. 程式人生 > >55,跳躍遊戲

55,跳躍遊戲

給定一個非負整數陣列,你最初位於陣列的第一個位置。

陣列中的每個元素代表你在該位置可以跳躍的最大長度。

判斷你是否能夠到達最後一個位置。

示例 1:

輸入: [2,3,1,1,4]
輸出: true
解釋: 從位置 0 到 1 跳 1 步, 然後跳 3 步到達最後一個位置。

示例 2:

輸入: [3,2,1,0,4]
輸出: false
解釋: 無論怎樣,你總會到達索引為 3 的位置。但該位置的最大跳躍長度是 0 , 所以你永遠不可能到達最後一個位置。

貪婪演算法,因為我們並不是很關心每一個位置上的剩餘步數,我們只希望知道能否到達末尾,也就是說我們只對最遠能到達的位置感興趣,所以我們維護一個變數reach,表示最遠能到達的位置,初始化為0。遍歷陣列中每一個數字,如果當前座標大於reach或者reach已經抵達最後一個位置則跳出迴圈,否則就更新reach的值為其和i + nums[i]中的較大值,其中i + nums[i]表示當前位置能到達的最大位置

class Solution {
    public boolean canJump(int[] nums) {
         int n = nums.length, reach = 0;
        for (int i = 0; i < n; ++i) {
            if (i > reach || reach >= n - 1) break;
            reach = Math.max(reach, i + nums[i]);
        }
        return reach >= n - 1;
    }
}

相關推薦

LeetCode 55. 跳躍遊戲(Jump Game)

更新 你在 ron 索引 etc urn -- bre nbsp 題目描述 給定一個非負整數數組,你最初位於數組的第一個位置。 數組中的每個元素代表你在該位置可以跳躍的最大長度。 判斷你是否能夠到達最後一個位置。 示例 1: 輸入: [2,3,1,1,4] 輸

[leetcode] 55. 跳躍遊戲

mat math num pro script length -- ble -c 55. 跳躍遊戲 分明就是45. 跳躍遊戲 II的縮水版本嘛。。??,難度高的版本居然放在了前面,把像我這種有強迫癥的必須按照題號刷題的人不放在眼裏麽。。。 class Solution {

LeetCode---55.跳躍遊戲

題目來源:https://leetcode-cn.com/problems/jump-game/description/ 題目描述:  題目分析:這個題要先理解題目,題目中說的是:數字代表的是最大的可跳躍長度,比如數字是3,那麼你跳1,2,3都行,而不是隻可以跳3步。經過思考

55.跳躍遊戲(Jump Game)

我的GitHub,歡迎捧場:https://github.com/FuGaZn/LeetCode 題目描述 給定一個非負整數陣列,你最初位於陣列的第一個位置。 陣列中的每個元素代表你在該位置可以跳躍的最大長度。 判斷你是否能夠到達最後一個位置。 示例 1: 輸入: [

LeetCode 55.跳躍遊戲 貪心演算法

給定一個非負整數陣列,你最初位於陣列的第一個位置。 陣列中的每個元素代表你在該位置可以跳躍的最大長度。 判斷你是否能夠到達最後一個位置。 示例 1: 輸入: [2,3,1,1,4] 輸出: true 解釋: 從位置 0 到 1 跳 1 步, 然後跳 3 步到達最後一個位置。

LeetCode Medium 55 跳躍遊戲 Python

方法一:     演算法:貪心         首先要明確如何向後跳是一個好的選擇,從某個位置i向後跳的時候,可以選擇的位置有nums[i]個(nums[i]儲存   

55. 跳躍遊戲

給定一個非負整數陣列,你最初位於陣列的第一個位置。 陣列中的每個元素代表你在該位置可以跳躍的最大長度。 判斷你是否能夠到達最後一個位置。 示例 1: 輸入: [2,3,1,1,4] 輸出: true 解釋: 從位置 0 到 1 跳 1 步, 然後跳 3 步到達最後一個

Leecode 55. 跳躍遊戲(Jump Game)

題目: 給定一個非負整數陣列,你最初位於陣列的第一個位置。 陣列中的每個元素代表你在該位置可以跳躍的最大長度。 判斷你是否能夠到達最後一個位置。 輸入: [2,3,1,1,4] 輸出: true 解釋

LeetCode--55.跳躍遊戲

問題: 給定一個非負整數陣列,你最初位於陣列的第一個位置,陣列中的每個元素代表你在該位置可以跳躍的最大長度,判斷你是否能夠到達最後一個位置。 示例 1:            輸入: [2,3,1,1,4]           輸出: true           解釋

【LeetCode-演算法】55. 跳躍遊戲(Java實現)

題目 給定一個非負整數陣列,你最初位於陣列的第一個位置。陣列中的每個元素代表你在該位置可以跳躍的最大長度。判斷你是否能夠到達最後一個位置。 示例1 輸入: [2,3,1,1,4] 輸出: true 解釋: 從位置 0 到 1 跳 1 步, 然後跳 3 步到達最後

Leetcode 55.跳躍遊戲

跳躍遊戲 給定一個非負整數陣列,你最初位於陣列的第一個位置。 陣列中的每個元素代表你在該位置可以跳躍的最大長度。 判斷你是否能夠到達最後一個位置。 示例 1: 輸入: [2,3,1,1,4] 輸出: true 解釋: 從位置 0 到 1 跳 1 步, 然後跳 3 步到達最後

LeetCode 55. 跳躍遊戲 Jump Game(C語言)

題目描述: 給定一個非負整數陣列,你最初位於陣列的第一個位置。 陣列中的每個元素代表你在該位置可以跳躍的最大長度。 判斷你是否能夠到達最後一個位置。 示例 1: 輸入: [2,3,1,1,4] 輸出: true 解釋: 從位置 0 到 1 跳 1 步, 然後跳 3 步

【Leetcode】55. 跳躍遊戲

作者: 碼蹄疾 畢業於哈爾濱工業大學。 小米廣告第三代廣告引擎的設計者、開發者; 負責小米應用商店、日曆、開屏廣告業務線研發; 主導小米廣告引擎多個模組重構; 關注推薦、搜尋、廣告領域相關知識; 題目 給定一個非負整數陣

55,跳躍遊戲

給定一個非負整數陣列,你最初位於陣列的第一個位置。 陣列中的每個元素代表你在該位置可以跳躍的最大長度。 判斷你是否能夠到達最後一個位置。 示例 1: 輸入: [2,3,1,1,4] 輸出: true 解釋: 從位置 0 到 1 跳 1 步, 然後跳 3 步到達最後一個

Leetcode 55. 跳躍遊戲 C++

題目描述: 給定一個非負整數陣列,你最初位於陣列的第一個位置。 陣列中的每個元素代表你在該位置可以跳躍的最大長度。 判斷你是否能夠到達最後一個位置。 示例 1: 輸入: [2,3,1,1,4] 輸出: true 解釋: 從位置 0 到 1 跳 1 步, 然後跳 3

LeetCode 55. 跳躍遊戲 Python

給定一個非負整數陣列,你最初位於陣列的第一個位置。陣列中的每個元素代表你在該位置可以跳躍的最大長度。判斷你是否能夠到達最後一個位置。示例 1:輸入: [2,3,1,1,4] 輸出: true 解釋: 從位置 0 到 1 跳 1 步, 然後跳 3 步到達最後一個位置。 示例 2

LeetCode筆記——55跳躍遊戲

題目: 給定一個非負整數陣列,你最初位於陣列的第一個位置。 陣列中的每個元素代表你在該位置可以跳躍的最大長度。 判斷你是否能夠到達最後一個位置。 示例 1: 輸入: [2,3,1,1,4] 輸出: true 解釋: 從位置 0 到 1 跳 1 步, 然後跳 3 步到

【LeetCode】55. 跳躍遊戲 結題報告 (C++)

題目描述: 給定一個非負整數陣列,你最初位於陣列的第一個位置。 陣列中的每個元素代表你在該位置可以跳躍的最大長度。 判斷你是否能夠到達最後一個位置。 示例 1: 輸入: [2,3,1,1,4] 輸出: true 解釋: 從位置 0 到 1 跳 1 步, 然後跳

leetcode 55. 跳躍遊戲 JAVA

pan 你是 pub i++ 遊戲 color 輸出 lee 一個 題目: 給定一個非負整數數組,你最初位於數組的第一個位置。 數組中的每個元素代表你在該位置可以跳躍的最大長度。 判斷你是否能夠到達最後一個位置。 示例 1: 輸入: [2,3,1,1,4] 輸出

LeetCode 55. Jump Game (跳躍遊戲

mat col lean osi pub 情況 you track rip Given an array of non-negative integers, you are initially positioned at the first index of the ar