只想到一个比较容易的思路,时间优化不够捏
class Solution {
public:
bool canJump(vector<int>& nums) {
const int N=1e4+10;
bool dp[N]={false};
dp[0]=true;
for(int i=0;i<nums.size();i++)
{
if(dp[i]==0)
continue;
int u=min(nums[i],(int)nums.size()-1);
for(int j=1;j<=u;j++)
{
if(i+j>nums.size()-1)
break;
dp[i+j]=true;
}
}
return dp[nums.size()-1];
}
};
LeetCode 55
最新推荐文章于 2024-07-25 19:34:38 发布