首页 > 其他分享 >【刷题笔记】55. Jump Game

【刷题笔记】55. Jump Game

时间:2023-07-18 23:32:46浏览次数:38  
标签:index return 55 Jump int Game maxJump 数组 起跳点

题目

Given an array of non-negative integers, you are initially positioned at the first index of the array.

Each element in the array represents your maximum jump length at that position.

Determine if you are able to reach the last index.

Example 1:

Input: [2,3,1,1,4]
Output: true
Explanation: Jump 1 step from index 0 to 1, then 3 steps to the last index.

Example 2:

Input: [3,2,1,0,4]
Output: false
Explanation: You will always arrive at index 3 no matter what. Its maximum
             jump length is 0, which makes it impossible to reach the last index.

题目大意

给定一个非负整数数组,最初位于数组的第一个位置。数组中的每个元素代表在该位置可以跳跃的最大长度。判断是否能够到达最后一个位置。

解题思路

  • 给出一个非负数组,要求判断从数组 0 下标开始,能否到达数组最后一个位置。
  • 这一题比较简单。如果某一个作为 起跳点 的格子可以跳跃的距离是 n,那么表示后面 n 个格子都可以作为 起跳点。可以对每一个能作为 起跳点 的格子都尝试跳一次,把 能跳到最远的距离maxJump 不断更新。如果可以一直跳到最后,就成功了。如果中间有一个点比 maxJump 还要大,说明在这个点和 maxJump 中间连不上了,有些点不能到达最后一个位置。

参考代码

package leetcode

func canJump(nums []int) bool {
	n := len(nums)
	if n == 0 {
		return false
	}
	if n == 1 {
		return true
	}
	maxJump := 0
	for i, v := range nums {
		if i > maxJump {
			return false
		}
		maxJump = max(maxJump, i+v)
	}
	return true
}

func max(a int, b int) int {
	if a > b {
		return a
	}
	return b
}

标签:index,return,55,Jump,int,Game,maxJump,数组,起跳点
From: https://blog.51cto.com/u_16110811/6769507

相关文章

  • poj 2311 Cutting Game (sg函数)
    小记:这题是对sg函数的初步理解。对于sg函数只要g[x]==0,则此时为必败态。x作为后继,我们就要对所有的后继进行标记,然后mex之。因为每次只能切一刀,所以切完之后,会有两块方格,而对每一块方格进行游戏又会有一个sg函数值,所以根据sg函数的性质,它这一刀所代表的后继,即为这两块方格的sg函......
  • SQL Server 2016 KB2919355 安装失败
    WindowsServer2012R2安装SQLServer2016检查未通过,需要安装KB2919355。错误如下图: 按提示,下载安装WindowsServer2012R2更新(KB2919355),下载文件为:Windows8.1-KB2919355-x64.msu(690MB)。但是安装时又提示错误! KB2919442是WindowsServer2012R2更新......
  • 洛谷-P9455 题解
    写在前面:本题蒟蒻给出两种做法,一种乱搞贪心(只是目前能过,若能被Hack请和我说),一种正解二分。正文1最坏时间复杂度:\(\mathcal{O}(n+\logV)(V=10^9)\)这个做法是很简单的,在此不多讲。只需要二分超频电压mid即可,若当前mid可行,则令右边界缩小至mid,否则令左边界扩大至mid。......
  • 6929.数组的最大美丽值-355
    数组的最大美丽值给你一个下标从0开始的整数数组nums和一个非负整数k。在一步操作中,你可以执行下述指令:在范围 [0,nums.length-1]中选择一个此前没有选过的下标i。将nums[i]替换为范围[nums[i]-k,nums[i]+k]内的任一整数。数组的美丽值定义为数......
  • 6194: jump and jump 深搜/广搜/动态规划
    描述  寒假在家里无聊极了,小w看到地上的瓷砖,想出了一个游戏。这个游戏是这样子的,一共有n个格子,刚开始在起点的时候可以跳到第1个到第k个格子中的一个上面,之后在每个格子上只能向前跳相对应的长度。请问至少需要多少步可以恰好跳到最后一个格子呢?输入  第一行输入两......
  • Python pygame实现中国象棋单机版源码
    今天给大家带来的是关于Python实战的相关知识,文章围绕着用Pythonpygame实现中国象棋单机游戏版展开,文中有非常详细的代码示例,需要的朋友可以参考下#-*-coding:utf-8-*-"""CreatedonSunJun1315:41:562021@author:Administrator"""importpygamefrompygame.local......
  • Cutting Game
    题目来源:POJ2311CuttingGame题意给定一张\(N*M\)的矩形网格纸,两名玩家轮流行动。在每一次行动中,可以任选一张矩形网格纸,沿着某一行或者某一列的格线,把它剪成两部分。首先剪出\(1*1\)的玩家获胜。两名玩家都采取最优策略行动,求先手是否必胜。\[1\leqslantN,M\leqslant......
  • k8s安装并迁移jumpserver
    一、环境二、安装依赖服务以下操作按需操作1.安装Helmwgethttps://get.helm.sh/helm-v3.12.1-linux-amd64.tar.gztarxfhelm-v3.12.1-linux-amd64.tar.gzmvlinux-amd64/helm/usr/local/bin/helmversionhelmrepoaddjumpserverhttps://jumpserver.github.io/he......
  • P5550 Chino的数列
    很想模拟,但是数据太大啦(悲。然后我想着用\(map\)映射来做,想着模拟几轮发现周期,然后映射求解。但是不知道为什么写崩了。勉强贴贴,反正不是正解(#include<bits/stdc++.h>#definelllonglong#definereregisterusingnamespacestd;constintN=80+10,INF=0x3f3f3f3f;lln,......
  • 万用表校准仪TD1855多用表校准系统
    应用场景:由交直流电压(DCV/ACV)、交直流电流(DCI/ACI)独立输出且相位可调组成的虚功率标准源,适用于校准交直流功率表。TD1855适用于校准0.5级及以下的直流功率表、有功功率表、无功功率表、视在功率表、工频相位表和功率因数表。用户可选配TD1020电流线圈(50匝),通入20A......