zoukankan      html  css  js  c++  java
  • leetcode Jump Game

    这题和那题类似,这题更简单。我当初就做了这题。当初的代码如下:

    class Solution {
    public:
        bool canJump(int A[], int n) {
            if (n < 2)
                return true;
            int canReach = 0; 
            for (int i = 0; i < n; ++i)
            {
                if (i > canReach)
                    return false;
                canReach = max(canReach, i + A[i]); // 判断和更新不要顺序颠倒了,否则犯错
            }
            return true;
        }
    };

    现在做的如下:

    class Solution {
    public:
        bool canJump(int A[], int n) {
            if(n < 2) return true;
            int canReach = A[0];
            for (int i = 1; i <= canReach; i++)
            {
                canReach = max(canReach, A[i] + i);
                if (canReach >= n - 1) return true;
            }
            return false;
        }
    };

    两个思路都对。

  • 相关阅读:
    STL常用容器☞String容器
    初识STL
    函数模板
    多态
    运算符重载
    友元
    对象的初始化和清理
    C++内存分区模型
    传值和传地址
    const的使用
  • 原文地址:https://www.cnblogs.com/higerzhang/p/4070309.html
Copyright © 2011-2022 走看看