題目直接截圖於力扣(leetcode)。
該題**:
我才發現英文版的題目他給出了約束條件,而中文貌似沒有。吃了偷懶的虧,以後還是看英文吧,順帶還能學習一下英語。~(ovo)~
下面是英文題目:
下面是中文題目:
【貪心演算法】
並不是所有的貪心策略都能得到想要的最優解。
此道題中,自然是每次跳躍都能夠到達最優點,使得本次跳躍優勢最大化。
下面是我的思路:
1(初始)、每次跳躍選擇能該區間能進行下次跳躍最遠的位置(即每次選擇區間內【數值最大】的位置為本次跳躍終點) (×) 錯誤案例:【10,9,8,7,6,5,4,3,2,1,1,1,0】
2(改進)、錯誤原因:少考慮了一些因素。
改進:每次跳躍時,選擇【當前位置+當前位置可跳躍距離】即(【當前下標+當前位置的值】)最大的位置為本次跳躍終點。同時!!!,這個值還需要大於終點的下標值。
int jump(int* nums, int2021-01-19 12:48:53numssize)
while(1
)
max = nums[i+1] + i + 1; //
將下一步設為最大值
for(j = i+1; j <= now; j++) //
從下一步開始,尋找最大值的位置
}if(max <=now)
count++;
}return
count;
}
**五分鐘,找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 步...