力扣演算法題 045跳躍遊戲二

2022-06-04 05:51:06 字數 1115 閱讀 1484

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...