华为OD机试 - 最大坐标值(Java 2024 D卷 100分)

在这里插入图片描述

华为OD机试 2024C卷题库疯狂收录中,刷题点这里

专栏导读

本专栏收录于《华为OD机试(JAVA)真题(A卷+B卷+C卷)》。

刷的越多,抽中的概率越大,每一题都有详细的答题思路、详细的代码注释、样例测试,发现新题目,随时更新,全天CSDN在线答疑。

一、题目描述

小明在玩一个游戏,游戏规则如下:在游戏开始前,小明站在坐标轴原点处(坐标值为0)给定一组指令和一个幸运数,每个指令都是一个整数,小明按照指定的要求前进或者后退指定的步数。

前进代表朝坐标轴的正方向走,后退代表朝坐标轴的负方向走,幸运数为一个整数,如果某个指令正好和幸运数相等,则小明行进步数加 1。

例如: 幸运数为 3,指令内[ 2 , 3 , 0 , −5 ]

指令为 2,表示前进 2步

指令为 3 正好好和幸运数相等,前进 3+1=4步

指令为 0,表示原地不动,既不前进,也不后退

指令为 5,表示后退 5步。

请你计算小明在整个游戏过程中,小明所处的最大坐标值。

二、输入描述

第一行输入 1 个数字,代表指令的总个数 n ( 1≤n≤100)

第二行输入 1 个数字,代表幸运数 m ( −100≤m≤100)

第三行输入 n 个指令,每个指令值的取值范围为: −100≤指令值≤100

三、输出描述

输出在整个游戏过程中,小明所处的最大坐标值。异常情况下输出:12345

1、输入

2
1
-5 1

2、输出

0

3、说明

总共 2 个指令,幸运数为 1 ,依照指令行进,依次如下游戏开始前,站在坐标轴原点,此时坐标值为 0;
指令为 −5 ,后退5 步 ,此时坐标值为−5 ;
指令为 1,正好等于幸运数,前进 1+1=2步,此时坐标值为 −3;
整个游戏过程中,小明所处的坐标值依次为[0,−5,−3],最大坐标值为 0。

四、解题思路

1、输入读取与基本验证:

  1. 首先读取指令的总数 n,验证其是否在合法范围 (1 ≤ n ≤ 100)。如果不在此范围,输出 “12345” 并结束程序。
  2. 然后读取幸运数 m,并验证其是否在合法范围 (−100 ≤ m ≤ 100)。如果不合法,同样输出 “12345” 并结束程序。

2、初始化坐标和最大坐标:

  1. 初始化小明当前的坐标 pos 为 0。
  2. 初始化游戏过程中小明所达到的最大坐标 maxPos 为 0。

3、处理每个指令:

  1. 遍历读取每个指令 num 并验证指令是否在合法范围内 (−100 ≤ num ≤ 100)。若不合法,输出 “12345” 并结束程序。
  2. 根据指令更新小明的当前坐标。如果指令等于幸运数,且指令非零,根据指令的正负增减 1。
  3. 更新小明所达到的最大坐标 maxPos。

4、输出结果:

输出小明在游戏过程中达到的最大坐标值 maxPos。

五、Java算法源码

public class OdTest02 {public static void main(String[] args) {Scanner sc = new Scanner(System.in);int n = sc.nextInt();  // 读取指令的总数if (n < 1 || n > 100) {System.out.println("12345");return;}int m = sc.nextInt();  // 读取幸运数if (m < -100 || m > 100) {System.out.println("12345");return;}int idx = 0;  // 小明的起始坐标int max = 0;  // 记录过程中的最大坐标for (int i = 0; i < n; i++) {int num = sc.nextInt();  // 读取每个指令if (num < -100 || num > 100) {System.out.println("12345");return;}idx += num;  // 更新小明的位置if (num == m) {  // 检查是否是幸运数,是的话根据正负调整if (num > 0) {idx += 1;} else if (num < 0) {idx -= 1;}}max = Math.max(max, idx);  // 更新最大坐标}System.out.println(max);  // 输出最大坐标值}
}

六、效果展示

1、输入

5
-5
-5 1 6 0 -7

2、输出

1

3、说明

总共 5 个指令,幸运数为 −5,依照指令行进,依次如下:
游戏开始前,站在坐标轴原点,此时坐标值为 0,
指令为 −5,正好等于幸运数,后退 5+1=6步,此时坐标值为 −6;
指令为 1,前进 1 步此时坐标值为 −5 ;
指令为 6 ,前进 6 步此时坐标值为1 ;
指令为 0 ,既不前进也不后退,此时坐标值为 1 ;
指令为 −7,后退 7步,此时坐标值为 −6。
整个游戏过程中,小明所处的坐标值依次为 [0,−6,−5,1,1,−6],最大坐标值为 1。

在这里插入图片描述


🏆下一篇:华为OD机试 - 简易内存池 - 逻辑分析(Java 2024 C卷 200分)

🏆本文收录于,华为OD机试(JAVA)真题(A卷+B卷+C卷)

刷的越多,抽中的概率越大,每一题都有详细的答题思路、详细的代码注释、样例测试,发现新题目,随时更新,全天CSDN在线答疑。

在这里插入图片描述

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

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

相关文章

数据结构第三篇【链表的相关知识点一及在线OJ习题】

数据结构第三篇【链表的相关知识点一及在线OJ习题】 链表链表的实现链表OJ习题顺序表和链表的区别和联系 本文章主要讲解关于链表的相关知识&#xff0c;喜欢的可以三连喔 &#x1f600;&#x1f603;&#x1f604;&#x1f604;&#x1f60a;&#x1f60a;&#x1f643;&#…

【前缀“选区-” bat脚本】

我们可以提供一个更完整的批处理脚本和PowerShell脚本。确保它们都能正确处理带有前缀“选区-”的文件名。 批处理脚本(.bat): 以下是改进后的批处理脚本,使用dir /b /a-d列出文件,并确保正确处理包含非ASCII字符的文件名: @echo off setlocal enabledelayedexpansion …

Makefile的入门学习

一、Makefile的入门学习 编译工具及构建工具介绍 在之前的课程&#xff0c;都是直接使用gcc对代码进行编译&#xff0c;这对简单的工程是可以的&#xff0c;但当我们遇到复杂的工程时&#xff0c;每次用gcc等编译工具去操作就会显得很低效。因此make工具就出现了&#xff0c;…

LeetCode1137第N个泰波那契数

题目描述 泰波那契序列 Tn 定义如下&#xff1a; T0 0, T1 1, T2 1, 且在 n > 0 的条件下 Tn3 Tn Tn1 Tn2给你整数 n&#xff0c;请返回第 n 个泰波那契数 Tn 的值。 解析 递归应该会超时&#xff0c;可以用循环&#xff0c;或者官方解法的矩阵的幂。 public int tr…

(4) qml动态元素

文章目录 概述注意 动画元素变化的策略Animation on 变化behavior on⽤standalone animation注意 缓冲曲线&#xff08;Easing Curves&#xff09;动画分组 概述 这⼀章介绍如何控制属性值的变化&#xff0c;通过动画的⽅式在⼀段时间内来改变属性值。这项技术是建⽴⼀个现代化…

获取(复制)网页上的文字

获取&#xff08;复制&#xff09;网页上的文字 今天在搜索历史课本上一段文言文的翻译时&#xff0c;找到的网页&#xff0c;屏蔽了右键&#xff0c;不能选择&#xff0c;当然不让复制啦。对于这样的网站可以采用如下方法进行数据的获取&#xff0c;以chrome为例。 1、网页另…

keil5常见使用技巧记录(更新)

快速到函数定义 F12或自己定义快捷键CTRLK&#xff08;个人设定&#xff09; 修改快捷键 下图实例是快速跳转到函数或变量定义位置&#xff0c;当然可以定义其他功能快捷键&#xff0c;如快速注释多行&#xff0c;快速消除注释等 标记全部查找变量的蓝色框取消 CTRLshiftF2…

【YOLOv10改进[Backbone]】图像修复网络AirNet助力YOLOv10目标检测效果 + 含全部代码和详细修改方式 + 手撕结构图 + 全网首发

本文带来的是图像复原网络AirNet&#xff0c;它由基于对比度的退化编码器( CBDE )和退化引导的恢复网络( DGRN )两个模块组成。可以在一个网络中恢复各种退化图像。AirNet不受损坏类型和级别的先验限制&#xff0c;仅使用观察到的损坏图像进行推理。本文中将使用图像修复网络Ai…

Python | 倒叙输出和隔位输出(数组和列表)

数组的概念和特点&#xff1a; 固定大小&#xff1a;数组一旦声明&#xff0c;其大小通常是固定的&#xff0c;不能在运行时动态更改。就好比开设了一个30人的班级&#xff0c;班级大小已经固定&#xff0c;不能再改变班级的规模。相同数据类型&#xff1a; 数组中的所有元素必…

使用Python绘制瀑布图

使用Python绘制瀑布图 瀑布图效果代码 瀑布图 瀑布图&#xff08;Waterfall Chart&#xff09;是一种数据可视化工具&#xff0c;用于展示累积数值的变化&#xff0c;尤其适合于展示随时间或过程中的增减变化。它通常用于财务分析&#xff0c;如展示收入、支出和净利润的变化过…

【离散数学】数理逻辑集合论知识点汇总

期末题型&#xff1a; 一、 单选题&#xff08;每题2分&#xff0c;10题共20分&#xff09; 命题判定、哈斯图边计算等 二、 填空题&#xff08;每空1分&#xff0c;共20分&#xff09; 与非和或非的表示等 三、 简答题&#xff08;10题&#xff0c;每题6分&#xff0c;共60分&…

安装禅道,帮助测试,测试打磨项目精度。

先检查docker版本。 sudo docker network create --subnet172.172.172.0/24 zentaonet sudo docker run --name zentao2 -p 8080:80 -p 3307:3306 --networkzentaonet --ip 172.172.172.3 -e MYSQL_INTERNALtrue -v /media/cykj/3T/ze…

【设计模式】单例模式(创建型)⭐⭐⭐

1.概念 1.1 什么是单例模式 单例模式属于创建型模式&#xff0c;一个单例类在任何情况下都只存在一个实例&#xff0c; 构造方法必须是私有的、由自己创建一个静态变量存储实例&#xff0c;对外提供一 个静态公有方法获取实例。 1.2 优点与缺点 优点:是内存中只有一个实例&…

【力扣】不同的子序列

一、题目描述 给你两个字符串 s 和 t &#xff0c;统计并返回在 s 的 子序列 中 t 出现的个数&#xff0c;结果需要对 109 7 取模。 示例 1&#xff1a; 输入&#xff1a;s "rabbbit", t "rabbit"输出&#xff1a; 3 解释&#xff1a; 如下所示, 有 3 种…

【十年java搬砖路】Jumpserver docker版安装及配置Ldap登陆认证

Jumpserver docker 安装启动教程 拉取镜像 docker pull JumpServer启动进行前确保有Redis 和Mysql 创建jumperServer数据库 在MYSQL上执行 创建数据库 登陆MYSQL mysql -u root -p 创建Jumperserveri库 create database jumpserver default charset utf8mb4;可以为jumperSe…

ubuntu 22.04配置静态ip

ubuntu 22.04配置静态ip vim /etc/netplan/01-network-manager-all.yaml# Let NetworkManager manage all devices on this system network:renderer: NetworkManagerethernets:enp4s0f1:addresses:- 192.168.1.18/24dhcp4: falseroutes:- to: defaultvia: 192.168.1.1nameser…

「动态规划」买卖股票的最佳时机

力扣原题链接&#xff0c;点击跳转。 给定一个整数数组prices&#xff0c;prices[i]表示股票在第i天的价格。你最多完成2笔交易。你不能同时参与多笔交易&#xff08;你必须在再次购买前出售掉之前的股票&#xff09;。设计一个算法计算最大利润。 我们用动态规划的思想来解决…

【软件开发】Java学习路线

本路径视频教程均来自尚硅谷B站视频&#xff0c;Java学习课程我已经收藏在一个文件夹下&#xff0c;B站文件夹同时会收藏其他Java视频&#xff0c;感谢关注。指路&#xff1a;https://www.bilibili.com/medialist/detail/ml3113981545 2024Java学习路线&#xff08;快速版&…

揭秘YAML:Python中的PyYAML应用

&#x1f340; 前言 博客地址&#xff1a; CSDN&#xff1a;https://blog.csdn.net/powerbiubiu &#x1f44b; 简介 本章节介绍YAML文件格式的操作&#xff0c;通过Python的第三方库 PyYaml 来实现文件操作&#xff0c;在 Pyhon 代码中无论读取还是写入&#xff0c;都是使用…

React ahooks库和React Query库使用场景分析

文章目录 前言一、在一个前台项目中&#xff0c;如区块链项目&#xff0c;需大量轮询接口&#xff0c;这时候哪个好二、ahooks一般可以用在什么项目上三、推荐react-query一些常用的hook四、推荐ahooks一些常用的hook总结 前言 ahooks和react-query都是好用的react库&#xff…