1. 程式人生 > >【Leetcode】55. 跳躍遊戲

【Leetcode】55. 跳躍遊戲

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

題目

給定一個非負整數陣列,你最初位於陣列的第一個位置。
陣列中的每個元素代表你在該位置可以跳躍的最大長度。
判斷你是否能夠到達最後一個位置。
示例 1:

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

示例 2:

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

題解

這個題要先理解題目,題目中說的是:數字代表的是最大的可跳躍長度,比如數字是3,那麼你跳1,2,3都行,而不是隻可以跳3步。

遍歷陣列一直跳就好,用max記錄當前可以跳到的最大的步數,然後中間的用num[i] + i 去貪心的更新最大步驟即可。
遍歷的時候有幾種情況:
1.遍歷完恰好跳到最後,或者可以跳過,是目標解;
2.遍歷的過程中遍歷到第i個元素,結果前面無論怎麼跳都跳不到這個地方,這個時候再怎麼跳也跳不出來了.直接返回false.

class Solution {
    public boolean canJump(int
[] nums) { int max = 0; for (int i = 0; i < nums.length; i++) { if (i > max) { return false; } //貪心求解可以到達的最遠步數. max = Math.max(nums[i] + i, max); } return true; } }

每日英文

  • implication (n.)暗示,牽連
  • implicate (v.)暗示
  • imply
  • provide (v.)提供
    • provide sb. with sth. 提供…給
    • provide sth. for 為某人提供
  • supply (n./v.)補給
    • -pli 補充
  • grant (v.)授予
    • take sth. for granted 把什麼當做理所當然
    • U should never take the kindness of your parents for granted.
  • grand (adj.)巨集觀的
    • grand id

熱門閱讀

Leetcode名企之路

相關推薦

Leetcode55. 跳躍遊戲

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

LeetCode55. 跳躍遊戲 結題報告 (C++)

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

leetCode45_跳躍遊戲2

思路: 一句話的話就是,我們現在站在pos點,下一個我們到達的點是next_pos,這個點是怎麼選出來的呢? next_pos是,(pos走一步能到達的點再往前走一步能走到最遠)的pos走一步能到達的點。這種點可能不止一個,我選擇的是距離pos最遠的點,但我覺得哪一個都可

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

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

leetcode55. (Medium) Jump Game

解題思路: 維護一個maxPosition即可 提交程式碼: class Solution { public boolean canJump(int[] nums) { int maxPosition=0; for(int i=0;i&

LeetCode Medium 55 跳躍遊戲 Python

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

LeetCode55. Jump Game 解題報告(Python)

目錄題目描述題目大意解題方法貪心相似題目參考資料日期 題目描述 Given an array of non-negative integers, you are initially positioned at the first index of the

leetcode55. Jump Game 動態規劃解法

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 jum

LeetCode筆記——55跳躍遊戲

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

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步。經過思考

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

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

LeetCodeNim遊戲

你和你的朋友,兩個人一起玩 Nim遊戲:桌子上有一堆石頭,每次你們輪流拿掉 1 - 3 塊石頭。 拿掉最後一塊石頭的人就是獲勝者。你作為先手。 你們是聰明人,每一步都是最優解。 編寫一個函式,來判斷你是否可以在給定石頭數量的情況下贏得遊戲。 示例: 輸入: 4 輸出:

LeetCode299. 猜數字遊戲 結題報告 (C++)

原題地址:https://leetcode-cn.com/problems/bulls-and-cows/submissions/ 題目描述: 你正在和你的朋友玩 猜數字(Bulls and Cows)遊戲:你寫下一個數字讓你的朋友猜。每次他猜測後,你給他一個提示,告訴他有多少位數字和確切位

LeetCode--55.跳躍遊戲

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

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. 跳躍遊戲 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