45 跳躍遊戲 II

2022-06-01 02:03:07 字數 540 閱讀 5361

開始打算直接用遞迴來做,實現後發現超時了,**如下:

int min(int a, int

b)void jump_helper(vector& nums, int start, int count, int ¤t_min)

for (int steps = 1; steps <= nums[start]; steps++)

}int jump2(vector&nums)

其實可以用貪婪法來做,找到可以到達最遠的下乙個點,作為更新的點,不停找下去,直到跳走。

需要考慮只有乙個數為0的情況,此時return 0.

int max(int a, int

b)int jump(vector&nums)

}pos =current_pos;

count++;

}return

count;

}

45 跳躍遊戲 II

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

45 跳躍遊戲 II

貪心 每一步都挑選下一步能達到的最遠距離。2,3,1,1,4 1 2 3 4 5 以下數字指代下標1 5.第一次可以跳到下標2或者3,如果跳到2,下一步最遠可以跳到5,如果跳到3,下一步只能跳到4,所以這一次選擇跳到2。如果某一步的最遠距離跨過了5或者到達了5,說明可以跳到終點。本題已經說了肯定可以...

45 跳躍遊戲 II

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