牛客NC197 跳跃游戏(一)【中等 动态规划 Java、Go、PHP】

题目

在这里插入图片描述
题目链接:
https://www.nowcoder.com/practice/23407eccb76447038d7c0f568370c1bd

思路

答案说的merge区间就是每个A[i]的地方能跳到的最远坐标是A[i] + [i],
有一个maxReach,遍历一遍A[i], 不断刷新MaxReach, 如果某个i 位置比maxReach要大,
则说明这点跳不过去, return false,否则的话这点可以跳过去,
只要能遍历完就可以return true了

参考答案Java

import java.util.*;public class Solution {/*** 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可*** @param nums int整型一维数组* @return bool布尔型*/public boolean canJump (int[] nums) {//DP/*答案说的merge区间就是每个A[i]的地方能跳到的最远坐标是A[i] + [i],有一个maxReach,遍历一遍A[i], 不断刷新MaxReach, 如果某个i 位置比maxReach要大,则说明这点跳不过去, return false,否则的话这点可以跳过去,只要能遍历完就可以return true了*/int maxReach = nums[0];for (int i = 1; i < nums.length ; i++) {if (i <= maxReach) {maxReach = Math.max(maxReach, nums[i] + i);} else {return false;}}return true;}
}

参考答案Go

package main/*** 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可*** @param nums int整型一维数组* @return bool布尔型*/
func canJump(nums []int) bool {//DP/*答案说的merge区间就是每个A[i]的地方能跳到的最远坐标是A[i] + [i],有一个maxReach,遍历一遍A[i], 不断刷新MaxReach, 如果某个i 位置比maxReach要大,则说明这点跳不过去, return false,否则的话这点可以跳过去,只要能遍历完就可以return true了*/maxReach := nums[0]for i := 1; i < len(nums); i++ {if i <= maxReach {cur := nums[i] + iif cur >= maxReach {maxReach = cur}} else {return false}}return true
}

参考答案PHP

<?php/*** 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可** * @param nums int整型一维数组 * @return bool布尔型*/
function canJump( $nums )
{//DP/*答案说的merge区间就是每个A[i]的地方能跳到的最远坐标是A[i] + [i],有一个maxReach,遍历一遍A[i], 不断刷新MaxReach, 如果某个i 位置比maxReach要大,则说明这点跳不过去, return false,否则的话这点可以跳过去,只要能遍历完就可以return true了*/$maxReach = $nums[0];for($i=1;$i<count($nums);$i++){if($i<=$maxReach){$cur = $nums[$i]+$i;if($cur>$maxReach){$maxReach = $cur;}}else{return false;}}return true;
}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/823676.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

进位制之间相互转换:二进制<=>八进制

示例&#xff1a; /*** brief how about carry-bin-otc? show you here.* author wenxuanpei* email 15873152445163.com(query for any question here)*/ #define _CRT_SECURE_NO_WARNINGS//support c-library in Microsoft-Visual-Studio #include <stdio.h> #inc…

Python可视化-matplotlib用法详解(三)

一、子图绘制 # 上节课复习 import pandas as pd import matplotlib.pyplot as plt s../../data/unrate.csvunrate pd.read_csv(s) unrate[DATE] pd.to_datetime(unrate[DATE]) first_twelve unrate[0:12] first_twelveDATEVALUE01948-01-013.411948-02-013.821948-03-014.…

【测试开发学习历程】python常用的模块(下)

目录 8、MySQL数据库的操作-pymysql 8.1 连接并操作数据库 9、ini文件的操作-configparser 9.1 模块-configparser 9.2 读取ini文件中的内容 9.3 获取指定建的值 10 json文件操作-json 10.1 json文件的格式或者json数据的格式 10.2 json.load/json.loads 10.3 json.du…

学习记录:转发和重定向

转发&#xff08;Forward&#xff09;和重定向&#xff08;Redirect&#xff09;是两种不同的 Web 请求处理方式&#xff0c;它们在功能和行为上有着显著的区别。 区别 转发&#xff08;Forward&#xff09;&#xff1a; 服务器内部跳转&#xff1a;转发是服务器内部的行为&…

【八股】Redisson分布式锁

Redisson分布式锁 主要了解了Redisson分布式锁实现的三个功能&#xff1a; 1.可重入 -> 防止死锁 2.可重试&#xff08;i.e. 非阻塞获取锁&#xff09; 3.自动续约 1. 可重入 原理&#xff1a; 利用Redis的Hash结构&#xff0c;记录了使用当前锁的线程id和重用次数&#…

Linux系统——Elasticsearch企业级日志分析系统

目录 前言 一、ELK概述 1.ELK简介 2.ELK特点 3.为什么要使用ELK 4.完整日志系统基本特征 5.ELK工作原理 6.Elasticsearch介绍 6.1Elasticsearch概述 6.2Elasticsearch核心概念 7.Logstash介绍 7.1Logstash简介 7.2Logstash主要组件 8.Kibana介绍 8.1Kibana简介 …

考研数学|「基础」和「强化」阶段分别怎么做?

从目前考研数学的趋势来看&#xff0c;更加注重数学基础的理解和计算量。也就是基础知识和计算&#xff0c;如何锻炼这两种能力就显得尤为重要。希望我的复习经验可以给到读者一些启发。 数学规划 从备考过程来看&#xff0c;数学的复习可以分为三个阶段&#xff1a;1、基础阶…

监控系统Prometheus--与第三方框架集成

文章目录 Prometheus和Flink集成拷贝jar包修改Flink配置为了运行测试程序&#xff0c;启动netcat启动hdfs、yarn&#xff0c;提交flink任务到yarn上可以通过8088跳到flinkUI的job页面&#xff0c;查看指标统计刷新Prometheus页面&#xff0c;如果有flink指标&#xff0c;集成成…

linux线程的同步

目录 1.死锁概念 2.接口 3.代码展示 1.死锁概念 死锁的四个必要条件&#xff08;必须同时满足&#xff09;&#xff1a; 1.互斥条件&#xff1a;一个资源每次只能被一个执行流使用&#xff08;前提&#xff09;。 2.请求与保持条件&#xff1a;一个执行流因请求资源而堵塞…

PHP 生成压缩包、读取压缩包

1. PHP 生成压缩包 下面是 PHP 将本地文件生成压缩包的核心代码&#xff0c;在此基础上可进行扩展封装 // 压缩包名称$name test.zip;// 创建压缩包对象$zip new ZipArchive;// 打开压缩包$zip->open($name, ZipArchive::CREATE);// 本地文件绝对路径$path __DIR__ . /In…

如何查看Postman的版本信息?

如何查看Postman的版本信息 一、为何需要查看版本信息&#xff1f;二、查看Postman的版本信息的步骤 一、为何需要查看版本信息&#xff1f; 不同的版本之间可能存在功能和界面的差异。 二、查看Postman的版本信息的步骤 1、打开 Postman 2、打开设置项 点击页面右上角的 “…

41.缺失的第一个正数

题目描述 给你一个未排序的整数数组 nums &#xff0c;请你找出其中没有出现的最小的正整数。请你实现时间复杂度为 O(n) 并且只使用常数级别额外空间的解决方案。示例 1&#xff1a;输入&#xff1a;nums [1,2,0] 输出&#xff1a;3 解释&#xff1a;范围 [1,2] 中的数字都在…

clipper一些数据结构(入门初识(一))

clipper一些数据结构&#xff08;一&#xff09; Clipper库是一个用于执行多边形裁剪&#xff08;clipping&#xff09;和偏移&#xff08;offsetting&#xff09;操作的开源C库。在Clipper库中&#xff0c;点和多边形&#xff08;polygon&#xff09;是基本的数据结构。Clipp…

Spring-tx事务管理

第五章 Spring声明式事务 一 声明式事务概念 1.1 编程式事务 手动编写程序来管理事务&#xff0c;即通过编写代码的方式来实现事务的提交&#xff0c;和回滚。 1.2 声明式事务 声明式事务是指使用注解或配置文件来控制事务的提交和回滚。 开发者只需要添加注解或者配置文…

陇剑杯 流量分析 webshell CTF writeup

陇剑杯 流量分析 链接&#xff1a;https://pan.baidu.com/s/1KSSXOVNPC5hu_Mf60uKM2A?pwdhaek 提取码&#xff1a;haek目录结构 LearnCTF ├───LogAnalize │ ├───linux简单日志分析 │ │ linux-log_2.zip │ │ │ ├───misc日志分析 │ │ …

[SWPUCTF 2021 新生赛]error

如果 flag 只出现一半&#xff0c;用substr(A,B,C) 查询flag 1 and (select extractvalue(1,concat(~,(select substr((select flag from test_tb), 1 , 31))))) # 0-30位 左边30位 1and (select extractvalue(1,concat(~,(select substr((select flag from test_tb), 31 , 6…

vivado 设置 VIO 核以执行测量、查看 VIO 核状态

设置 VIO 核以执行测量 您添加到自己的设计中的 VIO 核会显示在“硬件 (Hardware) ”窗口中的目标器件下。如果未显示这些 VIO 核 &#xff0c; 请右键 单击器件并选择“ Refresh Hardware ”。这样将重新扫描 FPGA 或 ACAP 并刷新“ Hardware ”窗口。 注释 &#xff…

阿里云4核8G云服务器价格多少钱?700元1年

阿里云4核8G云服务器价格多少钱&#xff1f;700元1年。阿里云4核8G服务器租用优惠价格700元1年&#xff0c;配置为ECS通用算力型u1实例&#xff08;ecs.u1-c1m2.xlarge&#xff09;4核8G配置、1M到3M带宽可选、ESSD Entry系统盘20G到40G可选&#xff0c;CPU采用Intel(R) Xeon(R…

Java面试必问题41:SpringCloud五大组件是哪几个 SpringCloud 和 SpringBoot 的区别和关系

SpringCloud五大组件是哪几个 Spring Cloud是一个用于构建分布式系统的开发工具包&#xff0c;它提供了一系列组件来简化分布式系统的开发和管理。以下是Spring Cloud中的五个核心组件&#xff1a; 1. 服务注册与发现&#xff08;Eureka&#xff09;&#xff1a;Eureka是一个用…

【AcWing】蓝桥杯集训每日一题Day28|组合计数|二项式定理|杨辉三角|211.计算系数(C++)

211.计算系数 211. 计算系数 - AcWing题库难度&#xff1a;简单时/空限制&#xff1a;1s / 64MB总通过数&#xff1a;3703总尝试数&#xff1a;7790来源&#xff1a;《算法竞赛进阶指南》NOIP2011提高组算法标签二项式定理组合计数 题目内容 给定一个多项式 ( a x b y ) k …