【Leetcode】55. 跳躍遊戲
作者: 碼蹄疾
畢業於哈爾濱工業大學。
小米廣告第三代廣告引擎的設計者、開發者;
負責小米應用商店、日曆、開屏廣告業務線研發;
主導小米廣告引擎多個模組重構;
關注推薦、搜尋、廣告領域相關知識;
題目
給定一個非負整數陣列,你最初位於陣列的第一個位置。
陣列中的每個元素代表你在該位置可以跳躍的最大長度。
判斷你是否能夠到達最後一個位置。
示例 1:
輸入: [2,3,1,1,4]
輸出: true
解釋: 從位置 0 到 1 跳 1 步, 然後跳 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】55. 跳躍遊戲
作者: 碼蹄疾 畢業於哈爾濱工業大學。 小米廣告第三代廣告引擎的設計者、開發者; 負責小米應用商店、日曆、開屏廣告業務線研發; 主導小米廣告引擎多個模組重構; 關注推薦、搜尋、廣告領域相關知識; 題目 給定一個非負整數陣
【LeetCode】55. 跳躍遊戲 結題報告 (C++)
題目描述: 給定一個非負整數陣列,你最初位於陣列的第一個位置。 陣列中的每個元素代表你在該位置可以跳躍的最大長度。 判斷你是否能夠到達最後一個位置。 示例 1: 輸入: [2,3,1,1,4] 輸出: true 解釋: 從位置 0 到 1 跳 1 步, 然後跳
【leetCode】45_跳躍遊戲2
思路: 一句話的話就是,我們現在站在pos點,下一個我們到達的點是next_pos,這個點是怎麼選出來的呢? next_pos是,(pos走一步能到達的點再往前走一步能走到最遠)的pos走一步能到達的點。這種點可能不止一個,我選擇的是距離pos最遠的點,但我覺得哪一個都可
【LeetCode-演算法】55. 跳躍遊戲(Java實現)
題目 給定一個非負整數陣列,你最初位於陣列的第一個位置。陣列中的每個元素代表你在該位置可以跳躍的最大長度。判斷你是否能夠到達最後一個位置。 示例1 輸入: [2,3,1,1,4] 輸出: true 解釋: 從位置 0 到 1 跳 1 步, 然後跳 3 步到達最後
【leetcode】55. (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]儲存
【LeetCode】55. Jump Game 解題報告(Python)
目錄題目描述題目大意解題方法貪心相似題目參考資料日期 題目描述 Given an array of non-negative integers, you are initially positioned at the first index of the
【leetcode】55. 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 步到達最後一個位置。
【LeetCode】Nim遊戲
你和你的朋友,兩個人一起玩 Nim遊戲:桌子上有一堆石頭,每次你們輪流拿掉 1 - 3 塊石頭。 拿掉最後一塊石頭的人就是獲勝者。你作為先手。 你們是聰明人,每一步都是最優解。 編寫一個函式,來判斷你是否可以在給定石頭數量的情況下贏得遊戲。 示例: 輸入: 4 輸出:
【LeetCode】299. 猜數字遊戲 結題報告 (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