华为OD统一考试 - 小明的幸运数
题目描述
小明在玩一个游戏,游戏规则如下:
在游戏开始前,小明站在坐标轴原点处(坐标值为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
用例
输入 |
2 1 -5 1 |
输出 |
0 |
说明 |
总共2个指令,幸运数为1,按照指令行进,依次如下游戏开始前,站在坐标轴原点,此时坐标值为0; 指令为-5,后退5步,此时坐标值为-5; 指令为1,正好等于幸运数,前进1+1=2步,此时坐标值为-3; 整个游戏过程中,小明所处的坐标值依次为[0, -5, -3],最大坐标值为0。 |
输入 |
5 -5 -5 1 6 0 -7 |
输出 |
1 |
说明 |
总共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。 |
题目解析
本题应该只是逻辑模拟题。逻辑比较简单,大家可以直接看代码。
本题主要是存在一些不明确的逻辑:
1、
幸运数为
剩余60%内容,订阅专栏后可继续查看/也可单篇购买
本专栏给大家提供了华为2024最新华为OD 题目汇总。华为OD机试刷题记录机考算法题库,帮助你上岸华为。提供C++/Java、JavaScript、Python四种语言的解法。