力扣刷題(45 跳躍遊戲II)

2022-06-06 06:27:08 字數 936 閱讀 9156

題目直接截圖於力扣(leetcode)。

該題**:

我才發現英文版的題目他給出了約束條件,而中文貌似沒有。吃了偷懶的虧,以後還是看英文吧,順帶還能學習一下英語。~(ovo)~

下面是英文題目:

下面是中文題目:

【貪心演算法】

並不是所有的貪心策略都能得到想要的最優解。

此道題中,自然是每次跳躍都能夠到達最優點,使得本次跳躍優勢最大化。

下面是我的思路:

1(初始)、每次跳躍選擇能該區間能進行下次跳躍最遠的位置(即每次選擇區間內【數值最大】的位置為本次跳躍終點)  (×) 錯誤案例:【10,9,8,7,6,5,4,3,2,1,1,1,0】

2(改進)、錯誤原因:少考慮了一些因素。

改進:每次跳躍時,選擇【當前位置+當前位置可跳躍距離】即(【當前下標+當前位置的值】)最大的位置為本次跳躍終點。同時!!!,這個值還需要大於終點的下標值。

int jump(int* nums, int

numssize)

while(1

)

max = nums[i+1] + i + 1; //

將下一步設為最大值

for(j = i+1; j <= now; j++) //

從下一步開始,尋找最大值的位置

}if(max <=now)

count++;

}return

count;

}

2021-01-19  12:48:53

**五分鐘,找bug半小時,總共花了乙個半小時時間........

LeetCode刷題45跳躍遊戲 II

1暴力超時 執行結果 超出時間限制 顯示詳情 最後執行的輸入 5,6,4,4,6,9,4,4,7,4,4,8,2,6,8,1,5,9,6,5,2,7,9,7,9,6,9,4,1,6,8,8,4,4,2,0,3,8,5 static int search int nums,int index,int ...

Leetcode刷題筆記 45 跳躍遊戲 II

題目 給定乙個非負整數陣列,你最初位於陣列的第乙個位置。陣列中的每個元素代表你在該位置可以跳躍的最大長度。你的目標是使用最少的跳躍次數到達陣列的最後乙個位置。示例 輸入 2,3,1,1,4 輸出 2 解釋 跳到最後乙個位置的最小跳躍數是 2。從下標為 0 跳到下標為 1 的位置,跳 1 步,然後跳 ...

leetcode刷題之路45 跳躍遊戲 II

給定乙個非負整數陣列,你最初位於陣列的第乙個位置。陣列中的每個元素代表你在該位置可以跳躍的最大長度。你的目標是使用最少的跳躍次數到達陣列的最後乙個位置。示例 輸入 2,3,1,1,4 輸出 2 解釋 跳到最後乙個位置的最小跳躍數是 2。從下標為 0 跳到下標為 1 的位置,跳 1 步,然後跳 3 步...