讨论/题目交流/最小跳跃次数问题,不知道错在哪里/
最小跳跃次数问题,不知道错在哪里

试了几个例子貌似都可以,就是不知道错在哪里,有木有大神给个提示

class Solution {
    public int minJump(int[] jump) {
        int k=1;
        int i=1;
        int max=jump[0];
        while(max<jump.length-1){//如果小球没有跳出,就从左往右依次扫描弹簧能达到的最远位置
            if(jump[i]+i>=max+jump[max]){
                if(i==max)//继续往右跳,按一次就可以
                {
                    k++;
                }
                else//回跳,相当于按了两次
                {
                    k+=2;
                }
                
                max=i+jump[i];//重置max的值
                
              
            
            }
      
        
          
            i++;
      }
        return k;
        
    }
}
展开讨论
图灵灵发起于 2020-04-19
最近编辑于 2020-04-19

贪心策略是错的。随便构造一个就过不了。
[2,3,1,3,1,1]

1