【leetcode】55. (Medium) Jump Game
解題思路:
維護一個maxPosition即可
提交程式碼:
class Solution {
public boolean canJump(int[] nums) {
int maxPosition=0;
for(int i=0;i<=maxPosition;i++) {
if(i+nums[i]>maxPosition) maxPosition=i+nums[i];
if(maxPosition>=nums.length-1) return true;
}
if(maxPosition>=nums.length-1) return true;
return false;
}
}
執行結果:
相關推薦
【leetcode】55. (Medium) Jump Game
解題思路: 維護一個maxPosition即可 提交程式碼: class Solution { public boolean canJump(int[] nums) { int maxPosition=0; for(int i=0;i&
【leetcode】45. (Hard) Jump Game II
題目連結 解題思路: 貪婪 提交程式碼: class Solution { public int jump(int[] nums) { int jumps=0,base=0,range=0; for(int
【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】44. (Medium) WildCard Matching
題目連結 解題思路: 這道題的意思就是字串匹配,s是正常的字串,p是帶有特殊字元的字串,在p中,’?‘可以匹配任意一個字元,’*'可以匹配任意長度(包括0)的字元。 這道題可以用DP來做。(初始答案在題目後面的Description裡) 首先動態規劃的特點是會求得所有過程中的
【leetcode】49. (Medium) Group Anagrams
題目連結 解題思路: 這道題的意思就是提取一系列詞的詞幹。 我的思路是,首先將所有的按照詞的長度分成一個一個的組(group),所有的組合並起來就是groups. 然後對for迴圈對每一個group進一步提取詞幹小組,子函式CreateGroup返回的是子結果(sub resul
【leetcode】17.(Medium) Letter Combinations of a Phone Number
題目連結 解題思路: 回溯 提交程式碼: class Solution { public List<String> letterCombinations(String digits) { List<String> res=new
【leetcode】64. (Medium) Minimum Path Sum
解題思路: DP 提交程式碼: class Solution { public int minPathSum(int[][] grid) { int row=grid.length,column=grid[0].length; int[][] dp=new
【leetcode】62.(Medium) Unique Pathes
解題思路: 動態規劃 這道題不能用回溯,會超時 提交程式碼: class Solution { public int uniquePaths(int m, int n) { if(m==1||n==1) return 1; int[][]
【leetcode】61. (Medium) Rotate List
解題思路: 就是修改一下連結串列結點之間的連線關係 剛開始耗時快300ms…因為要求k相對連結串列長度的絕對大小的時候我是這麼寫的: while(k>=len) k-=len; 其實直接k%=len; 就可以了,把這裡改過來就不會耗時太久了 提交程式碼:
【leetcode】60.(Medium) Permutation Sequence
解題思路: 這個題想想用蠻力法會很耗時。然後可以發現裡面的一些規律。 總體是遞迴的做法,以n=4,k=9為例: 首先n=4的所有全排列組合中,前6個是1開頭的,第6-11個是2開頭的…依次類推 如果要找第9位數,則第9位數必然是2開頭的,所以我們先將2加進答案。 剩下1、3、4: 1、3
【leetcode】59.(Medium) Spiral Matrix II
解題思路: 就是一圈一圈的加數字,分別上、右、下、左的加 提交程式碼: class Solution { public int[][] generateMatrix(int n) { int[][] ans = new int[n][n]; int cntUp = (i
【leetcode】54.(Medium) Spiral Matrix
解題思路: 首先計算一下上、右、下、左的邊界總共會迴圈多少次,然後依次加進結果裡面就可以了。 提交程式碼: class Solution { public List<Integer> spiralOrder(int[][] matrix) {
【LeetCode】822. Card Flipping Game 解題報告(Python)
題目描述: On a table are N cards, with a positive integer printed on the front and back of each card (possibly different). We flip a
【LeetCode】837. New 21 Game 解題報告(Python)
目錄題目描述題目大意解題方法動態規劃相似題目參考資料日期 題目描述 Alice plays the following game, loosely based on the card game “21”. Alice starts with 0 point
【Leetcode】55. 跳躍遊戲
作者: 碼蹄疾 畢業於哈爾濱工業大學。 小米廣告第三代廣告引擎的設計者、開發者; 負責小米應用商店、日曆、開屏廣告業務線研發; 主導小米廣告引擎多個模組重構; 關注推薦、搜尋、廣告領域相關知識; 題目 給定一個非負整數陣
【LeetCode】55. 跳躍遊戲 結題報告 (C++)
題目描述: 給定一個非負整數陣列,你最初位於陣列的第一個位置。 陣列中的每個元素代表你在該位置可以跳躍的最大長度。 判斷你是否能夠到達最後一個位置。 示例 1: 輸入: [2,3,1,1,4] 輸出: true 解釋: 從位置 0 到 1 跳 1 步, 然後跳
【LeetCode】114.Jump Game II
題目描述(Hard) Given an array of non-negative integers, you are initially positioned at the first index of the array. Each element in the array repres
【LeetCode】113.Jump Game
題目描述(Medium) Given an array of non-negative integers, you are initially positioned at the first index of the array. Each element in the array repr
【LeetCode】45. Jump Game II(C++)
地址:https://leetcode.com/problems/jump-game-ii/ 題目: Given an array of non-negative integers, you are initially positioned at the first index of