leetcode 55.跳跃游戏 贪心法求解 (c++版本)

时间:2024-01-10 01:06:03 标签:  leetcode  c++  算法  贪心算法  

题目描述

在这里插入图片描述
明确以下几点

  • 数组值代表的是从当前位置可以最大跳几步

  • 那么最大就意味着我可以到达当前位置与最大位置中间的任何一个位置上

因此思路也就出来了,我们不断的判断当前位置与最大位置中间的位置上的点能否到达数组尾部

代码实现

class Solution {
public:
    bool canJump(vector<int>& nums) {
        int cur_index = 0;
        if(nums.size()==1)
        {
            return true;
        }
        for(int i=0; i <= cur_index; i++)
        {
            cur_index = max(i+nums[i], cur_index);
            if(cur_index>=nums.size()-1)
            {
                return true;
            }
        }
        return false;
    }
};
来源:https://blоg.сsdn.nеt/wеixin_45748989/аrtiсlе/dеtаils/127848273

智能推荐

题目给你一个非负整数数组 nums ,你最初位于数组的 第一个下标 。数组中的每个元素代表你在该位置可以跳跃的最大长度。判断你是否能够到达最后一个下标,如果可以,返回 true ;否则,返回 false 。示例 1:输入:nums = [2,3,1,1,4]输出:true解释:可以先跳 1 步,从下标 0 到达下标 1, 然后再从下标 1 跳 3 步到达最后一个下标。示例 2:

标签:游戏  leetcode  java  

题目&#xff1a; 给定一个非负整数数组 nums &#

标签:贪心算法  算法  c++  leetcode  职场和发展  

给你一个非负整数数组 nums &#xff0c;你最初位于数组的 

标签:游戏  算法  数据结构  

跳跃游戏I  地址&#xff1a;​​​​​​​跳跃游戏I 给定

标签:算法  java  算法  动态规划  

55. 跳跃游戏LeetCode题目要求给定一个非负整数数组 nums ,你最初位于数组的 第一个下标 。数组中的每个元素代表你在该位置可以跳跃的最大长度。判断你是否能够到达最后一个下标。示例输入:nums = [2,3,1,1,4]输出:true解释:可以先跳 1 步,从下标 0 到达下标 1, 然后再从下标 1 跳 3 步到达最后一个下标。解题思路经过跳跃分析,如下图都可以到达尾部:

标签:游戏  Day  

1.题目给你一个非负整数数组&nbsp;nums&nbsp;,你最初位于数组的第一个位置。数组中的每个元素代表你在该位置可以跳跃的最大长度。你的目标是使用最少的跳跃次数到达数组的最后一个位置。假设你总是可以到达数组的最后一个位置。&nbsp;示例 1:输入: nums = [2,3,1,1,4]输出: 2解释: 跳到最后一个位置的最小跳跃数是 2。 &nbsp; 从下标为

标签:游戏  II  

这一次我们应用printf输出实现一个经典的小游戏—贪吃蛇,主要难点是小蛇数据如何存储、如何实现转弯的效果、吃到食物后如何增加长度。1 构造小蛇首先,在画面中显示一条静止的小蛇。二维数组canvas[High][Width]的对应元素,值为0输出空格,-1输出边框#,1输出蛇头@,大于1的正数输出蛇身*。startup()函数中初始化蛇头在画布中间位置(canvas[High/2][Width/2] = 1;),蛇头向左依次生成4个蛇身(for (i=1;i<=4;i++) ca

标签:贪吃蛇  版本  语言  游戏  Printf  

持续更新中........................ 455. 分发饼干

标签:leetcode  leetcode  

一、背包问题1.1 问题描述  设有编号为1、2、......、n的n个物品,它们的重量分别为w1、w2、......、wn,价值分别为v1、v2、......、vn,其中wi和vi均为正数,有一个背包可以懈怠的最大重量不超过W。求解目标是在不超过背包附中的前提下使背包装入的总价值最大(即效益最大化)。与0/1背包问题的区别是,这里的每个物品可以取一部分装入背包。1.2 求解思路  采用贪心法求解。用结构体存储物品的价值、重量和价重比,在输入价值重量后,首先求每个物品的价重比

标签:贪心  

什么是贪心&#xff1a; 贪心算法是一种常见的算法思想&#xff0c;它通常用

标签:c++  贪心算法  开发语言  

1.分发饼干 得排序一下。

标签:算法  贪心算法  

猜你喜欢

在进行2D游戏开发时,跳跃是不可缺少的一个重要功能。但是我们在Unity开发时Unity本身的物理引擎并不能提供很好的的手感,下落的时候轻飘飘的,这操作起来显然非常不舒服。所以,我们需要自己对跳跃进行优化,以此来获得更好的手感。我们不难发现,在绝大多数2D游戏的跳跃中,下落的速度比上升的速度要快上很多,下落的用时是上升的一半左右。提示,在优化跳跃时,将使用刚体组件首先,我们需要对Unity物体跳跃阶段进行分析:

标签:进阶  手感  下落  跳起  游戏  

今日份题目&#xff1a; 这里有一个非负整数数组 &#96;arr&#96;&

标签:图论  leetcode  图论  算法  c++  广度优先  数据结构  图搜索算法  

        为了加深自己对于C语言的掌握和理解&#xff0c;写个比较复杂的贪吃蛇小游戏。贪吃蛇

标签:小项目  c语言  游戏  linux  算法  链表  

贪心算法&#xff0c;在对问题求解时&#xff0c;总是做出在当前看来是最好的选择。也就是说&#x

标签:贪心算法  算法  c语言  c++  

大家好&#xff0c;小编为大家解答python贪吃蛇游戏代码详解外加中文的问题。很多人还不知道py

标签:python  

贪心

标签:c++  贪心算法  c++  算法  

贪心算法基本概念&#xff1a; 贪心的本质是通过选取局部最优达到全局最优。

标签:算法  leetcode  python  

122. Best Time to Buy and Sell Stock II

标签:java  算法  开发语言  

参考理论本质:找到每个阶段的局部最优,然后去推导得到全局最优两个极端:常识&&很难:很多同学通过了贪心的题目,但都不知道自己用了贪心算法,因为贪心有时候就是常识性的推导,所以会认为本应该就这么做!套路:贪心没有套路,说白了就是常识性推导加上举反例做题的时候,只要想清楚 局部最优 是什么,如果推导出全局最优,其实就够了。贪心算法一般分为如下四步:将问

标签:例题  贪心  算法  基础  leetcode  

455. 分发饼干 - 力扣&#xff08;LeetCode&#xff09; 假设你

标签:贪心算法  leetcode  leetcode  算法  贪心算法  

贪心算法&#xff08;Greedy Algorithm&#xff09;是一种常用的算法策略&#xf

标签:贪心算法  c语言  算法  

* [1. 分配饼干]* [2. 不重叠的区间个数]* [3. 投飞镖刺破气球]* [4. 根据身高和序号重组队列]* [5. 买卖股票最大的收益]* [6. 买卖股票的最大收益 II]* [7. 种植花朵]* [8. 判断是否为子序列]* [9. 修改一个数成为非递减数组]* [10. 子数组最大的和]* [11. 分隔字符串使同种字符出现在一起]保证每次操作都是局部最优的,并且最后得到的结果是全局最优的。1. 分配饼干455. Assign Cookies (Easy)Leetcode / 力扣

标签:贪心  LeetCode贪心  leetcode  

贪心算法有人说贪心算法很简单,你我其实都很贪,根本不用学;有人说贪心算法很复杂,这世上会贪的人太多了,哪轮得到你我?概念贪心是一种在每次决策时采取当前意义下最优策略的算法。它是从问题的初始解出发,按照当前最佳的选择,把问题归纳为更小的相似的子问题,并使子问题最优,再由子问题来推导出全局最优解。引例现有 10 元、5 元、2 元、1 元四种纸币,使用的张数不限,需要用这四种纸币凑成 p 元钱,怎样用最少的张数达到此要求。此题我们很容易就想到了贪心的算法,即每次尽量选面值大的

标签:贪心  

扫雷 1.布置雷-10个 2.扫雷 输入坐标

标签:游戏  c语言  pygame  

什么是贪心 贪心的本质是选择每一阶段的局部

标签:贪心算法  算法  leetcode  

这是一个通过链表实现的命令行小游戏——贪吃蛇。

标签:c语言  链表  开发语言  

1319 【例6.1】排队接水

标签:02 信息学奥赛一本通  贪心算法  算法  数据结构  

相关问题

相关文章

热门文章

推荐文章

相关标签