最开始先到的是广搜,但是超时......
看了下网上的解答,觉得倒推这种思路不错...基本就是贪心的思想....试想要走到最后一个位置,这一步的起点要离最后一个位置尽可能远...(因为能覆盖到更近的起点的方案肯定也能覆盖到最远的起点)....所以每次不断地向前找最远的起点直到起点....这样时间消耗和空间消耗都极少....妙!!
public class Solution {
public int jump(int[] A) {
int len = A.length;
if(len<=1)
{
return 0;
}
int cur=len-1;
int count=0;
int pre=0;
while(true)
{
if(pre==cur)
{
return 0;
}
pre = cur;
count++;
for(int i=cur-1;i>=0;i--)
{
if(A[i]+i>=pre)
{
cur = i;
}
}
if(cur==0)
{
return count;
}
}
}
}