题解 | #跳跃游戏(一)#

跳跃游戏(一)

https://www.nowcoder.com/practice/23407eccb76447038d7c0f568370c1bd

2022.0913算法第57题跳跃游戏(一)
这道题目使用贪心算法,代码简单,但是感觉还是挺难想的
每次都要找到当前位置所能跳到的最远位置,在最远位置内的位置都是能够到达的,
bool canJump(vector<int>& nums) {
        //记录当前位置能够到达的最远位置
        //i + nums[i]位当前位置能够到达的最远位置,这个是一步
        //需要记录的是之前所有位置能够到达的最远位置,也就是最终结果的最远位置,这个是多步
        int end = 0;
        //遍历数组,查看是否能够到达
        for (int i = 0; i < nums.size(); i++) {
            //当最远位置小于当前位置时,表明当前位置不能达到,返回false
            if (i > end) return false;
            //否则更新最远边界,确保最远边界始终最远。
            end = max(end, i + nums[i]);
        }
        //循环结束表明每个位置都能达到
        return true;
    }
还是有点懵懂,过段时间还要复习。

#算法题#
全部评论

相关推荐

和蔼:在竞争中脱颖而出,厉害! 但是有一个小问题:谁问你了?😡我的意思是,谁在意?我告诉你,根本没人问你,在我们之中0人问了你,我把所有问你的人都请来 party 了,到场人数是0个人,誰问你了?WHO ASKED?谁问汝矣?誰があなたに聞きましたか?누가 물어봤어?我爬上了珠穆朗玛峰也没找到谁问你了,我刚刚潜入了世界上最大的射电望远镜也没开到那个问你的人的盒,在找到谁问你之前我连癌症的解药都发明了出来,我开了最大距离渲染也没找到谁问你了我活在这个被辐射蹂躏了多年的破碎世界的坟墓里目睹全球核战争把人类文明毁灭也没见到谁问你了
点赞 评论 收藏
分享
点赞 收藏 评论
分享
牛客网
牛客企业服务