【leetcode】45. (Hard) Jump Game II
解題思路:
貪婪
提交程式碼:
class Solution {
public int jump(int[] nums) {
int jumps=0,base=0,range=0;
for(int i=0;i<nums.length-1;i++) {
range=Math.max(range, i+nums[i]);
if(i==base) {
jumps++;
base=range;
}
}
return jumps;
}
}
執行結果:
相關推薦
【leetcode】45. (Hard) Jump Game II
題目連結 解題思路: 貪婪 提交程式碼: class Solution { public int jump(int[] nums) { int jumps=0,base=0,range=0; for(int
【leetcode】52. (Hard) N Queens II
題目連結 解題思路: 回溯 提交程式碼: class Solution { public int totalNQueens(int n) { int[][] positions=new int[n][n]; int[] columns=new
【leetcode】55. (Medium) Jump Game
解題思路: 維護一個maxPosition即可 提交程式碼: class Solution { public boolean canJump(int[] nums) { int maxPosition=0; for(int i=0;i&
LeetCode第45之 Jump Game II
看了好幾種演算法實現,感覺這裡說的最清楚,也比較簡單,本演算法思想也是來源於此。 解法 看完這道題目,可能大部分的讀者都能夠想出這樣一個相對簡單的解法:將每個位置都看作一個點,並從第i個點向它之後的nums[i]個點都連一條長度為1的有向邊,而現在的問題就是
【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
【leetcode】10. (Hard) Regular Expression Matching
題目連結 解題思路: DP 提交程式碼: class Solution { public boolean isMatch(String s, String p) { boolean match[][]=new boolean[s.length()
【leetcode】51. (Hard) N-Queens
題目連結 解題思路: 回溯 res用於存放所有的結果 positions用於記錄當前已經擺放好的有效的皇后的位置 columns是一個一維陣列,長度為n。用於記錄第一排、第二排、第三排…的皇后的位置(所在的列)。 主體函式是solveNQueens. newDistrub
【leetcode】68.(Hard) Text Justification
題目連結 提交程式碼: class Solution { public List<String> fullJustify(String[] words, int maxWidth) { List<String> res=new
【leetcode】65. (Hard) Valid Number
題目連結 解題思路: 是後面discussion的一個答案,感覺寫的很簡潔 提交程式碼: class Solution{ public boolean isNumber(String s) { boolean isE=false,isDot=false,isD
【leetcode】57. (Hard) Insert Interval
題目連結 解題思路: 假設intervals是由很多blocks組成的,把這些blocks分成三個部分,一個是end的值都小於newInterval.start的部分,一個是和newInterval有重疊的部分,然後是start的值都大於newInterval.end的部分。
【leetcode】72. (Hard) Edit Distance
題目連結 解題思路: DP 提交程式碼: class Solution { public int minDistance(String word1, String word2) { int[][] dp=new int[word2.length(
【leetcode】59.(Medium) Spiral Matrix II
解題思路: 就是一圈一圈的加數字,分別上、右、下、左的加 提交程式碼: class Solution { public int[][] generateMatrix(int n) { int[][] ans = new int[n][n]; int cntUp = (i
【LeetCode】229. 求眾數 II 結題報告 (C++)
原題地址:https://leetcode-cn.com/problems/majority-element-ii/submissions/ 題目描述: 給定一個大小為 n 的陣列,找出其中所有出現超過 ⌊ n/3 ⌋ 次的元素。 說明: 要求演算法的時間複雜度為 O(n),空間複雜度為
【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】229. 求眾數 II
題目描述: 給定一個大小為 n 的陣列,找出其中所有出現超過 ⌊ n/3 ⌋ 次的元素。 說明: 要求演算法的時間複雜度為 O(n),空間複雜度為 O(1)。 示例 1: 輸入: [3,2,3] 輸出: [3] 示例 2: 輸入: [1,1,1,3,3,2,2,2
【LeetCode】445. 兩數相加 II
題目描述 給定兩個非空連結串列來代表兩個非負整數。數字最高位位於連結串列開始位置。它們的每個節點只儲存單個數字。將這兩數相加會返回一個新的連結串列。 你可以假設除了數字 0 之外,這兩個數字都不會以零
【LeetCode】142. 環形連結串列 II
題目描述 給定一個連結串列,返回連結串列開始入環的第一個節點。 如果連結串列無環,則返回 null。 說明:不允許修改給定的連結串列。 進階: 你能否不使用額外空間解決此題? 解決方法 在141. 環
【LeetCode】837. New 21 Game 解題報告(Python)
目錄題目描述題目大意解題方法動態規劃相似題目參考資料日期 題目描述 Alice plays the following game, loosely based on the card game “21”. Alice starts with 0 point
【LeetCode】92. Reverse Linked List II(C++)
地址:https://leetcode.com/problems/reverse-linked-list-ii/ 題目: Reverse a linked list from position m to n. Do it in one-pass. Note: 1 ≤ m ≤ n
【LeetCode】#142環形連結串列II(Linked List Cycle II)
【LeetCode】#142環形連結串列II(Linked List Cycle II) 題目描述 給定一個連結串列,返回連結串列開始入環的第一個節點。 如果連結串列無環,則返回 null。 為了表示給定連結串列中的環,我們使用整數 pos 來表示連結串列尾連線到連結串列中的位置(索