1 #include "000庫函式.h"2
34//考慮當前最遠能到什麼地方,例如2, 3, 1, 1, 4,5//
首先只考慮a[0] = 2,即最遠可以到a[2],然後從1到2中找下乙個可到的最遠點,6//
即a[1]可以到達a[4],此時找到結果,步數記錄為2。若接著考慮,7//
下一次應該從3 - 4裡面找乙個最遠即a[4]可達a[8](4 + 4), 8//
再下一次從5 - 8中找最遠9//
20ms
10class
solution
22return
min;23}
24int max(vector& nums, int s, int
t) 30
return
max;31}
32};
3334
//部落格解法 20ms
35//
解法的思想一樣,找到跳的最遠的那個
36class
solution
46if (pre == cur) return -1; //
may not need this47}
48return
res;49}
50};
5152
53class
solution 64}
65return
res;66}
67};
68void
t045() ;
72 cout << s.jump(v) << endl << "
**************
"<73 v = ;
74 cout << s.jump(v) << endl << "
**************
"<75 v = ;
76 cout << s.jump(v) << endl << "
**************
"<77 v = ;
78 cout << s.jump(v) << endl << "
**************
"<79 }
力扣習題 跳躍遊戲
自己的解法 class solution ret k m true if ret.back return ret.back 思路就是用乙個陣列來儲存每個位置的可達性,不斷更新,如果乙個位置可達,那麼它的後nums k 個位置都可達。直到得到最後乙個位置。這樣一來,時間複雜度為o n2 空間複雜度o ...
力扣刷題(45 跳躍遊戲II)
題目直接截圖於力扣 leetcode 該題 我才發現英文版的題目他給出了約束條件,而中文貌似沒有。吃了偷懶的虧,以後還是看英文吧,順帶還能學習一下英語。ovo 下面是英文題目 下面是中文題目 貪心演算法 並不是所有的貪心策略都能得到想要的最優解。此道題中,自然是每次跳躍都能夠到達最優點,使得本次跳躍...
力扣Leetcode 55 跳躍遊戲
給定乙個非負整數陣列,你最初位於陣列的第乙個位置。陣列中的每個元素代表你在該位置可以跳躍的最大長度。判斷你是否能夠到達最後乙個位置。輸入 2,3,1,1,4 輸出 true 解釋 我們可以先跳 1 步,從位置 0 到達 位置 1,然後再從位置 1 跳 3 步到達最後乙個位置。輸入 3,2,1,0,4...