#OD180. 跳房子II
跳房子II
题目解析和算法源码
华为OD机试 - 跳房子II(Java & JS & Python & C & C++)_伏城之外的博客-CSDN博客
题目描述
跳房子,也叫跳飞机,是一种世界性的儿童游戏。
游戏参与者需要分多个回合按顺序跳到第1格直到房子的最后一格,然后获得一次选房子的机会,直到所有房子被选完,房子最多的人获胜。
跳房子的过程中,如果有踩线等违规行为,会结束当前回合,甚至可能倒退几步。
假设房子的总格数是count,小红每回合可能连续跳的步数都放在数组steps中,请问数组中是否有一种步数的组合,可以让小红三个回合跳到最后一格?
如果有,请输出索引和最小的步数组合(数据保证索引和最小的步数组合是唯一的)。
注意:数组中的步数可以重复,但数组中的元素不能重复使用。
输入描述
第一行输入为房子总格数count,它是int整数类型。 第二行输入为每回合可能连续跳的步数,它是int整数数组类型
输出描述
返回索引和最小的满足要求的步数组合(顺序保持steps中原有顺序)
备注
- count ≤ 10000
- 3 ≤ steps.length ≤ 10000
- -100000 ≤ steps[i] ≤ 100000
用例1
输入
[1,4,5,2,0,2]
9
输出
[4,5,0]
用例2
输入
[1,5,2,0,2,4]
9
输出
[5,2,2]
用例3
输入
[-1,2,4,9]
12
输出
[-1,4,9]