leetcode:跳躍遊戲II(java貪心演算法)
package LeetCode; public class Jump { public int jump(int[] nums) { //跳躍次數 int cont=0; //跳出條件 int n=nums.length; //為了儲存每次可以到達的地方 int i=0; int max=0; int s=0; while (max<n-1){ cont++; int a=max; i=s; for (;i<=a;i++){ max=Math.max(max,i+nums[i]); if(max!=a)s=i; } } return cont++; } public static void main(String[] args) { Jump a=new Jump(); int[] b={2,3,1,1,4}; System.out.println(a.jump(b)); } }
相關推薦
leetcode:跳躍遊戲II(java貪心演算法)
package LeetCode; public class Jump { public int jump(int[] nums) { //跳躍次數 int cont=0; //跳出條件 int n=nums.length; //為了儲存每次
LeetCode-45.跳躍遊戲II(考察點:貪心演算法)
給定一個非負整數陣列,你最初位於陣列的第一個位置。 陣列中的每個元素代表你在該位置可以跳躍的最大長度。 你的目標是使用最少的跳躍次數到達陣列的最後一個位置。 示例: 輸入: [2,3,1,1,4] 輸出: 2 解釋: 跳到最後一個位置的最小跳躍數是 2。 從下
LeetCode 跳躍遊戲 II 貪心演算法
給定一個非負整數陣列,你最初位於陣列的第一個位置。 陣列中的每個元素代表你在該位置可以跳躍的最大長度。 你的目標是使用最少的跳躍次數到達陣列的最後一個位置。 示例: 輸入: [2,3,1,1,4] 輸出: 2 解釋: 跳到最後一個位置的最小跳躍數是 2。 從下標為
Leetcode 45:跳躍遊戲 II(最詳細的解法!!!)
給定一個非負整數陣列,你最初位於陣列的第一個位置。 陣列中的每個元素代表你在該位置可以跳躍的最大長度。 你的目標是使用最少的跳躍次數到達陣列的最後一個位置。 示例: 輸入: [2,3,1,1,4] 輸出: 2 解釋: 跳到最後一個位置的最小跳躍數是 2。 從下標
45. 跳躍遊戲II(Jump Game II)
題目描述 給定一個非負整數陣列,你最初位於陣列的第一個位置。 陣列中的每個元素代表你在該位置可以跳躍的最大長度。 你的目標是使用最少的跳躍次數到達陣列的最後一個位置。 示例: 輸入: [2,3,1,1,4] 輸出: 2 解釋: 跳到最後一個位置的最小跳躍數是 2。 從下標為
LeetCode 213. 打家劫舍 II(C++、python)
你是一個專業的小偷,計劃偷竊沿街的房屋,每間房內都藏有一定的現金。這個地方所有的房屋都圍成一圈,這意味著第一個房屋和最後一個房屋是緊挨著的。同時,相鄰的房屋裝有相互連通的防盜系統,如果兩間相鄰的房屋在同一晚上被小偷闖入,系統會自動報警。 給定一個代表每個房屋存放金額的非負整
leetcode:解碼方法(java動態規劃)
package LeetCode; /* 一條包含字母 A-Z 的訊息通過以下方式進行了編碼: 'A' -> 1 'B' -> 2 ... 'Z' -> 26 給定一個只包含數字的非空字串,請計算解碼方法的總數。 示例 1: 輸入: "12" 輸出: 2 解釋: 它可以解碼為 "A
迷宮遊戲程式碼(java語言編寫)
迷宮遊戲 題目描述: 用0和1組成一個矩形矩陣,0代表當前位置可走,1代表當前位置不可走。 eg: 0 0 0 0 1 0 1 0 1 0 0 0 1 1 1 0 實現功能: 1.建立迷宮 2.選擇迷宮入口和出口 3.
藍橋杯練習題---完美的代價(基於貪心演算法)
有一段時間沒有用c++寫過程式了,偶爾心血來潮刷兩道水題,沒想到居然被一道題卡住了。。。。很難受emmmm寫出來給大家分享下,覺得這道題挺精妙的,有值得學習的地方(大神可忽略)題目如下:問題描述 迴文串,是一種特殊的字串,它從左往右讀和從右往左讀是一樣的。小龍龍認為迴文串才
[leetcode] 45. 跳躍遊戲 II(Java)(動態規劃)
com max https 重疊 http findmi 條件 leetcode scrip 45. 跳躍遊戲 II 動態規劃 此題可以倒著想。 看示例: [2,3,1,1,4] 我們從後往前推,對於第4個數1,跳一次 對於第3個數1,顯然只能跳到第4個數上,那麽從第3個數
LeetCode演算法題-Binary Tree Level Order Traversal II(Java實現)
這是悅樂書的第165次更新,第167篇原創 01 看題和準備 今天介紹的是LeetCode演算法題中Easy級別的第24題(順位題號是107)。給定二叉樹,返回其節點值的自下而上級別順序遍歷(即從左到右,逐層逐層)。例如: 給定二叉樹[3,9,20,null,null,15,7], 3
LeetCode演算法題-Pascal's Triangle II(Java實現)
這是悅樂書的第171次更新,第173篇原創 01 看題和準備 今天介紹的是LeetCode演算法題中Easy級別的第30題(順位題號是119)。給定非負索引k,其中k≤33,返回Pascal三角形的第k個索引行。行索引從0開始。在Pascal的三角形中,每個數字是它上面兩個數字的總和。例如: 輸
Leetcode演算法——45、跳躍遊戲II
給定一個非負整數的陣列,每一個元素表示從當前位置開始跳躍一次的最大長度。 你一開始站在第一個索引的位置。 你的目標是用最少的跳躍次數到達最後一個索引位置。輸出跳躍次數。 備註: 假設肯定可以跳到最後一個位置。 示例: Input: [2,3,1,1,4] Output
LeetCode演算法題-Contains Duplicate II(Java實現)
這是悅樂書的第193次更新,第197篇原創 01 看題和準備 今天介紹的是LeetCode演算法題中Easy級別的第53題(順位題號是219)。給定整數陣列和整數k,找出陣列中是否存在兩個不同的索引i和j,使得nums [i] = nums [j]並且i和j之間的絕對差值小於等於k。例如: 輸入:nu
【LeetCode-演算法】63. 不同路徑 II(Java實現)
題目 一個機器人位於一個 m x n 網格的左上角 (起始點在下圖中標記為“Start” )。機器人每次只能向下或者向右移動一步。機器人試圖達到網格的右下角(在下圖中標記為“Finish”)。現在考慮網格中有障礙物。那麼從左上角到右下角將會有多少條不同的路徑?
LeetCode演算法題-Intersection of Two Arrays II(Java實現)
這是悅樂書的第208次更新,第220篇原創 01 看題和準備 今天介紹的是LeetCode演算法題中Easy級別的第76題(順位題號是350)。給定兩個陣列,編寫一個函式來計算它們的交集。例如: 輸入:nums1 = [1,2,2,1],nums2 = [2,2] 輸出:[2,2] 輸入:nums1
LeetCode-122.買賣股票的最佳時機II(相關話題:貪心演算法)
給定一個數組,它的第 i 個元素是一支給定股票第 i 天的價格。 設計一個演算法來計算你所能獲取的最大利潤。你可以儘可能地完成更多的交易(多次買賣一支股票)。 注意:你不能同時參與多筆交易(你必須在再次購買前出售掉之前的股票)。 示例 1: 輸入: [7,1,5,3,6,4] 輸出:
LeetCode 45. Jump Game II 跳躍遊戲II,求最少跳躍次數 (貪心)
給定一個非負整數陣列,你最初位於陣列的第一個位置。 陣列中的每個元素代表你在該位置可以跳躍的最大長度。 你的目標是使用最少的跳躍次數到達陣列的最後一個位置。 示例: 輸入: [2,3,1,1,4] 輸出: 2 解釋: 跳到最後一個位置的最小跳躍數
leetcode:(167)Two Sum II(java)
題目: Given an array of integers that is already sorted in ascending order, find two numbers such that they add up
LeetCode---45.跳躍遊戲II
題目來源:https://leetcode-cn.com/problems/jump-game-ii/description/ 題目描述: 演算法描述:這題是上一個題的升級版,詳情請見https://blog.csdn.net/qq_39241239/article/details/8