华为OD机试 - 小明的幸运数(Python/JS/C/C++ 2024 E卷 100分)

华为OD机试 2024E卷题库疯狂收录中,刷题点这里
专栏导读
本专栏收录于《华为OD机试真题(Python/JS/C/C++)》。
刷的越多,抽中的概率越大,私信哪吒,备注华为OD,加入华为OD刷题交流群,每一题都有详细的答题思路、详细的代码注释、3个测试用例、为什么这道题采用XX算法、XX算法的适用场景,发现新题目,随时更新,全天CSDN在线答疑。
一、题目描述
小明在玩一个游戏,游戏规则 如下:在游戏开始前,小明站在坐标轴原点处(坐标值为0)。
给定一组指令和一个幸运数,每个指令包含一个整数,小明按照指令前进指定步数或者后退指定步数。前进代表朝坐标轴Q的正方向走,后退代表朝坐标轴的负方向走。
幸运数为一个整数,如果某个指令为正好和幸运数相等,则小明行进步数+1。
例如:
幸运数为3,指令为[2,3,0,-5]
指令为2,表示前进2步;
指令为3,正好和幸运数相等,前进3+1=4步;
指令为0,表示原地不动,既不前进,也不后退;
指令为-5,表示后退5步。
请你计算小明在整个游戏过程中过,小明所处的最大坐标值。
二、输入描述
第一行输入1个数字n,代表指令的总个数 n(1 <= n <= 100)
第二行输入1个数字m,代表幸运数m(-100 <= m <= 100)
第三行输入n个数字,每个指令的值范围为:-100 <= 指令值 <= 100
三、输出描述
输出在整个游戏过程中过,小明所处的最大坐标值。异常情况输出:12345
四、测试用例
测试用例1:
1、输入
2
1
-5 1
2、输出
0
3、说明
总共2个指令,幸运数为1,按照指令行进,依次如下:
- 游戏开始前,站在坐标轴原点,此时坐标值为0;
- 指令为-5,后退5步,此时坐标值为-5;
- 指令为1,正好等于幸运数,前进1+1=2步,此时坐标值为-3;
- 整个游戏过程中,小明所处的坐标值依次为[0, -5, -3],最大坐标值为0。
测试用例2:
1、输入
5
-5
5 1 6 0 -7
2、输出
12
3、说明
指令 5,前进5步,坐标变为 5。
指令 1,前进1步,坐标变为 6。
指令 6,前进6步,坐标变为 12。
指令 0,不变。
指令 -7,后退7步,坐标变为 5。
最大坐标值是 12。
五、解题思路
- 小明一开始在坐标轴的原点,即位置为 0。
- 设置一个变量 maxCoordinate 用于记录小明在整个游戏过程中到达的最大坐标值。
- 对每个指令进行遍历,并根据指令值更新小明的当前位置:
- 如果指令值为正数,则小明向坐标轴的正方向前进相应步数。
- 如果指令值为负数,则小明向坐标轴的负方向后退相应步数。
- 如果指令值为0,小明的位置保持不变。
- 如果指令值等于幸运数 m,则增加额外的一步,对于正数指令,多前进一步。对于负数指令,多后退一步。
- 每次更新位置后,将当前位置与 maxCoordinate 进行比较,若当前位置大于 maxCoordinate,则更新 maxCoordinate。
- 在遍历完所有指令后,输出记录的最大坐标值。
- 如果输入数据不符合预期或者发生异常,可以设定一个特殊值(如 12345)来表示异常情况。
六、Python算法源码
# 导入sys模块以便读取标准输入
import sysdef main():try:# 读取所有输入并拆分为列表input_list = sys.stdin.read().split()# 将输入转换为整数列表nums = list(map(int, input_list))# 读取指令的总个数n和幸运数mn = nums[0]m = nums[1]# 初始化最大坐标值和当前坐标值max_coordinate = 0current_position = 0# 从第三个元素开始读取n个指令for i in range(n):instruction = nums[2 + i]# 判断当前指令是否为幸运数mif instruction == m:if instruction > 0:# 如果指令大于0,增加instruction + 1current_position += instruction + 1else:# 如果指令小于等于0,增加instruction - 1current_position += instruction - 1else:# 如果指令不为幸运数,直接增加instructioncurrent_position += instruction# 更新最大坐标值if current_position > max_coordinate:max_coordinate = current_position# 输出最大坐标值print(max_coordinate)except:# 异常情况下输出12345print("12345")# 调用主函数
if __name__ == "__main__":main()
七、JavaScript算法源码
// 使用标准输入输出模块
const readline = require('readline');// 创建接口以读取标准输入
const rl = readline.createInterface({input: process.stdin,output: process.stdout
});// 存储所有输入数据
let input = [];// 监听每一行输入
rl.on('line', (line) => {input = input.concat(line.trim().split(/\s+/).map(Number));
}).on('close', () => {try {// 读取指令的总个数n和幸运数mconst n = input[0];const m = input[1];// 初始化最大坐标值和当前坐标值let maxCoordinate = 0;let currentPosition = 0;// 循环处理每个指令for (let i = 0; i < n; i++) {const instruction = input[2 + i];if (instruction === m) {// 如果指令等于幸运数m,根据指令的正负调整位置if (instruction > 0) {currentPosition += instruction + 1;} else {currentPosition += instruction - 1;}} else {// 如果指令不等于幸运数,直接调整位置currentPosition += instruction;}// 更新最大坐标值if (currentPosition > maxCoordinate) {maxCoordinate = currentPosition;}}// 输出最大坐标值console.log(maxCoordinate);} catch (e) {// 异常情况下输出12345console.log("12345");}
});
八、C算法源码
#include <stdio.h>int main() {int n, m;// 读取指令的总个数n和幸运数mif (scanf("%d %d", &n, &m) != 2) {// 如果输入不符合要求,输出12345并退出printf("12345\n");return 0;}int max_coordinate = 0; // 初始化最大坐标值int current_position = 0; // 初始化当前坐标值int instruction;// 循环读取n个指令for (int i = 0; i < n; i++) {if (scanf("%d", &instruction) != 1) {// 如果指令读取失败,输出12345并退出printf("12345\n");return 0;}if (instruction == m) {// 如果指令等于幸运数m,根据指令的正负调整位置if (instruction > 0) {current_position += instruction + 1;} else {current_position += instruction - 1;}} else {// 如果指令不等于幸运数,直接调整位置current_position += instruction;}// 更新最大坐标值if (current_position > max_coordinate) {max_coordinate = current_position;}}// 输出最大坐标值printf("%d\n", max_coordinate);return 0;
}
九、C++算法源码
#include <iostream>
#include <vector>
using namespace std;int main() {ios::sync_with_stdio(false); // 关闭同步,加快输入速度cin.tie(0); // 解绑cin和coutint n, m;// 读取指令的总个数n和幸运数mif (!(cin >> n >> m)) {// 如果输入失败,输出12345并退出cout << "12345\n";return 0;}int max_coordinate = 0; // 初始化最大坐标值int current_position = 0; // 初始化当前坐标值int instruction;// 循环读取n个指令for (int i = 0; i < n; i++) {if (!(cin >> instruction)) {// 如果指令读取失败,输出12345并退出cout << "12345\n";return 0;}if (instruction == m) {// 如果指令等于幸运数m,根据指令的正负调整位置if (instruction > 0) {current_position += instruction + 1;} else {current_position += instruction - 1;}} else {// 如果指令不等于幸运数,直接调整位置current_position += instruction;}// 更新最大坐标值if (current_position > max_coordinate) {max_coordinate = current_position;}}// 输出最大坐标值cout << max_coordinate << "\n";return 0;
}
🏆下一篇:华为OD机试真题 - 简易内存池(Python/JS/C/C++ 2024 E卷 200分)
🏆本文收录于,华为OD机试真题(Python/JS/C/C++)
刷的越多,抽中的概率越大,私信哪吒,备注华为OD,加入华为OD刷题交流群,每一题都有详细的答题思路、详细的代码注释、3个测试用例、为什么这道题采用XX算法、XX算法的适用场景,发现新题目,随时更新,全天CSDN在线答疑。

相关文章:
华为OD机试 - 小明的幸运数(Python/JS/C/C++ 2024 E卷 100分)
华为OD机试 2024E卷题库疯狂收录中,刷题点这里 专栏导读 本专栏收录于《华为OD机试真题(Python/JS/C/C)》。 刷的越多,抽中的概率越大,私信哪吒,备注华为OD,加入华为OD刷题交流群,…...
嵌入式学习——进程间通信方式(3)—— 共享内存
一、基本概念 什么是共享内存,顾名思义,就是将共享一片内存空间,共享内存允许多个不同的进程访问同一片内存空间。他们对这个内存直接进行操作,不需要经过内核的处理,因此共享内存是IPC通信方式中效率最高的。那如何实…...
python开发讯飞星火
一、讯飞星火网址 星火认知大模型Web API文档 | 讯飞开放平台文档中心 二、pycharm安装 pip3 install --upgrade spark_ai_python...
自然语言处理(jieba库分词)
1、完全切分法、正向最大匹配算法、逆向最大匹配算法和双向最大匹配算法 一、实验内容 一个好的NLP系统一定要有完备的词典,用于判断算法分出的词是否是具有实际意义的词。自定义一个词典,比如dic ["项目", "研究", "目的&q…...
MYSQL-查看函数创建语句语法(五)
SHOW CREATE FUNCTION 语句 SHOW CREATE FUNCTION func_name此语句类似于 SHOW CREATE PROCEDURE 的方法,但用于存储过程。 mysql> show create function world.sum \G *************************** 1. row ***************************Function: sumsql_mode:…...
图解IRF
FW1 配置思路 ① 配置IRF优先级 确认设备的主次 ② 设置批量操作的接口方便后续操作 interface range name fw-irf interface GigabitEthernet1/0/2 to GigabitEthernet1/0/3 ③ 接口 showdown 关闭接口 ④ 创建的IRF 1/1 成员的对应的接口的是 GE1/0/2 GE/1/0/3 ⑤ 开放IRF对…...
关于Chrome浏览器F12调试,显示未连接到互联网的问题
情况说明 最近笔者更新下电脑的Chrome浏览器,在调试前端代码的时候,遇到下面一个情况: 发现打开调试面板后,页面上显示未连接到互联网,但实际电脑网络是没有问题的,关闭调试面板后,网页又能正…...
南沙csp-j/s一对一家教 解一本通题: 1937:【06NOIP普及组】数列
【题目描述】 给定一个正整数k(3≤k≤15),把所有k的方幂及所有有限个互不相等的k的方幂之和构成一个递增的序列,例如,当k3时,这个序列是: 1,3,4,9,10,12,13&a…...
【分布式微服务云原生】K8s(Kubernetes)基本概念和使用方法
Kubernetes简称K8S,是一个强大的开源容器编排平台,用于自动化部署、扩展和管理容器化应用程序。它最初由Google设计,并由Cloud Native Computing Foundation(CNCF)维护。以下是Kubernetes的一些基本概念和使用方法。 基本概念 集…...
引入Scrum激发研发体系活力
引言 在当今快速变化的技术环境中,IT企业面临着持续的市场压力和竞争,传统的瀑布式开发模式已经难以满足现代企业的需要。瀑布模型过于僵化,缺乏灵活性,导致项目经常延期,成本增加,最终可能无法达到预期效果…...
JAVA开源项目 技术交流分享平台 计算机毕业设计
本文项目编号 T 053 ,文末自助获取源码 \color{red}{T053,文末自助获取源码} T053,文末自助获取源码 目录 一、系统介绍二、演示录屏三、启动教程四、功能截图五、文案资料5.1 选题背景5.2 国内外研究现状5.3 可行性分析 六、核心代码6.1 新…...
Linux学习笔记之重点概念、实用技巧和常见问题解答。
Linux学习笔记的内容涵盖了从基础知识到高级应用的各个方面,包括重点概念、实用技巧和常见问题解答。以下是对这些内容的详细描述: 一、重点概念 1. Linux简介:Linux是一种自由和开放源代码的类UNIX操作系统,由林纳斯本纳第克特托…...
“数字武当”项目荣获2024年“数据要素×”大赛湖北分赛文化旅游赛道一等奖
9月26日,由国家数据局、湖北省人民政府指导的首届湖北省数据要素创新大会暨2024年“数据要素”大赛湖北分赛颁奖仪式在湖北武汉举行。由大势智慧联合武当山文化旅游发展集团有限公司参报的武当山“数字武当”项目,荣获文化旅游赛道一等奖。 据悉&#x…...
开箱即用的大模型应用跟踪与批量测试方案
背景介绍 最近抽空参加了一个讯飞的 RAG 比赛,耗时两周终于在最后一天冲上了榜首。 整体的框架是基于 RAG 能力有点弱弱的 Dify 实现。在比赛调优的过程中,经常需要批量提交几百个问题至 Dify 获取回答,并需要跟踪多轮调优的效果差异。借助…...
在MySQL中,要查询所有用户及其权限,您可以使用以下命令:
文章目录 1、查询所有用户1.1、登录数据库1.2、select user,host from mysql.user; 2、查看用户的权限 1、查询所有用户 1.1、登录数据库 [rootlocalhost ~]# docker exec -it spzx-mysql /bin/bash rootab66508d9441:/# mysql -uroot -p123456 mysql: [Warning] Using a pas…...
VMware下载安装教程
目录 一.下载二.安装 一.下载 官网地址:官网 下载的时候选择Workstation Player,这个是免费的,当然你也可以选择下载Workstation Pro。 二.安装 下载完成之后点击安装包按照需要安装即可。 安装之后启动,可以看到这个能够免费使…...
AI跟踪报道第58期-新加坡内哥谈技术-本周AI新闻: OpenAI动荡时刻和Meta从未如此动人
每周跟踪AI热点新闻动向和震撼发展 想要探索生成式人工智能的前沿进展吗?订阅我们的简报,深入解析最新的技术突破、实际应用案例和未来的趋势。与全球数同行一同,从行业内部的深度分析和实用指南中受益。不要错过这个机会,成为AI领…...
深入理解 Nuxt.js 中的 app:error:cleared 钩子
title: 深入理解 Nuxt.js 中的 app:error:cleared 钩子 date: 2024/9/28 updated: 2024/9/28 author: cmdragon excerpt: Nuxt.js 中的 app:error:cleared 钩子的用途及其实现方式。这个钩子为开发者提供了一种优雅的方式来处理错误清除后的状态恢复和用户反馈。 categor…...
国内白帽子能赚多少钱?有多少白帽子全职挖洞能养活自己?零基础兼职挖漏洞收藏这一篇就够了
经常会有粉丝朋友私信大白,想探究一下国内的SRC(安全响应中心)平台究竟支持了多少白帽黑客的生活?又有多少白帽黑客能够不依赖于传统工作,全职从事漏洞挖掘并以此维生?以下信息或许可以为那些有意踏上这条道…...
速盾:cdn是怎么加速视频的?
CDN(Content Delivery Network)是一种网络加速服务,通过将内容分发到全球各地的服务器节点上,提供更快速度和更可靠的内容传输。当涉及到视频内容时,CDN起到了至关重要的作用,它通过一系列的技术和策略来加…...
Tetrazine-NHBoc,cas:1380500-93-5,四嗪-氨基叔丁酯的结构特点
Tetrazine-NHBoc(四嗪-氨基叔丁酯)是一种结合了四嗪基团和N-叔丁氧羰基(NHBoc)保护基的有机化合物,以下是对其的详细介绍:一、基本信息中文名称:四嗪-氨基叔丁酯英文名称:Tetrazine-…...
如何一键下载国内主流视频平台的在线视频:Video-Downloader完全指南
如何一键下载国内主流视频平台的在线视频:Video-Downloader完全指南 【免费下载链接】Video-Downloader 下载youku,letv,sohu,tudou,bilibili,acfun,iqiyi等网站分段视频文件,提供mac&win独立App。 项目地址: https://gitcode.com/gh_mirrors/vi/V…...
服务器很卡,是CC攻击造成的吗
之前有客户反馈,服务器有一段时间使用总是会遇到卡的情况,查看并无流量攻击的情况,程序也未进行过什么修改,用户人数也没有什么变化。来咨询是什么原因导致的。导致机器卡的情况,一般有带宽不够,硬件性能不…...
S2-Pro+C语言教学系统:代码逻辑讲解与典型错误自动纠正
S2-ProC语言教学系统:代码逻辑讲解与典型错误自动纠正 1. 智能编程助教初体验 第一次看到S2-Pro在C语言教学中的应用效果时,确实让人眼前一亮。想象一下,当学生提交一段指针运算代码后,系统不仅能指出错误,还能像经验…...
别再手动画封装了!用嘉立创EDA免费库5分钟搞定Altium Designer缺失的器件
5分钟极速救援:用嘉立创EDA破解Altium Designer封装缺失难题 深夜11点,李工盯着屏幕上闪烁的光标和半成品的PCB布局图,额头渗出细密的汗珠。项目交付截止前48小时,团队突然发现Altium Designer官方库中缺少关键芯片TPS5430DDAR的封…...
CTFshow Misc挑战:从WinRAR到明文攻击的实战解析
1. 初识CTFshow Misc挑战:压缩包破解的奥秘 第一次接触CTFshow的Misc题目时,我被那个看似普通的压缩包难住了整整两天。那是个名为6.zip的文件,用360解压提示需要密码,这种场景在CTF比赛中实在太常见了。很多新手遇到这种情况会直…...
SGMICRO圣邦微 SGM8740YC5G/TR SC70-5 比较器
特性 快速,45纳秒传播延迟(10毫伏过驱动)低功耗:在Vs3V时为155pA(典型值) 宽电源电压范围:2.7V至5.5V优化适用于3V和5V应用轨到轨输入电压范围低偏置电压:0.9mV(典型值)内部迟滞以实现干净开关 输出摆幅:在4mA输出电流下,从轨距内.200mV范围内 与CMOS/TT…...
Agent能实现7×24小时无人值守运营吗?——深度拆解AI Agent端到端自动化落地路径
随着大模型技术的演进,AI Agent(人工智能体)已不再局限于简单的对话交互,而是进化为能够自主规划、调用工具并执行复杂任务的数字员工。针对“Agent能实现724小时无人值守运营吗?”这一核心疑问,答案是肯定…...
片上网络NOC:可生成RTL源代码与UVM验证环境的实用学习资料
片上网络NOC,可生成RTL源代码,生成uvm验证环境,内含有丰富的文档,带有readme文档,有例子工程,操作简单,是学习工作的好资料最近折腾NoC项目的时候挖到一个宝藏工具包,名字先不透露&a…...
Linux内核container_of宏解析与应用
1. 理解container_of宏的核心作用在Linux内核开发中,container_of宏是一个极其重要且频繁使用的工具。它的核心功能是通过结构体成员的地址反推出整个结构体的起始地址。想象一下,你手里只有一张照片的某个局部,却能准确找到这张照片在相册中…...
