Jump Game

来源:互联网 发布:java流程图 编辑:程序博客网 时间:2024/05/03 11:00

思路偏了,想到了动态规划和dfs,但是时间复杂度很高,逻辑也不容易理清,用贪心就好

class Solution {public:    bool canJump(vector<int>& nums) {        int reach = 0;  //能到达的最远的地方        int i = 0;          for ( ; i < nums.size() && i <= reach; i++) { //循环扫一遍数组,到达数组结尾或者i到达的地方超过了能到达的最远的地方(reach变量的值)             reach = max(reach, i + nums[i]);  //最远的地方是max(reach, i + nums[i])        }          return (i == nums.size());//如果是因为i <= reach跳出循环的,就返回false,否则返回true    }};


0 0