【备战秋招】每日一题:2023.05-B卷-华为OD机试 - 跳房子I

为了更好的阅读体检,可以查看我的算法学习网跳房子I

题目描述

跳房子,也叫跳飞机,是一种世界性的儿童游戏。
游戏参与者需要分多个回合按顺序跳到第 1 1 1格直到房子的最后一格

跳房子的过程中,可以向前跳,也可以向后跳。

假设房子的总格数是 c o u n t count count,小红每回合可能连续跳的步教都放在数组 s t e p s steps steps中,请问数组中是否有一种步数的组合,可以让小红两个回合跳到量后一格?
如果有,请输出索引和最小的步数组合。
注意:

  • 数组中的步数可以重复,但数组中的元素不能重复使用。
  • 提供的数据保证存在满足题目要求的组合,且索引和最小的步数组合是唯一的。

输入描述

第一行输入为房子总格数 c o u n t count count,它是 i n t int int整数类型。

第二行输入为每回合可能连续跳的步数,它是 i n t int int整数数组类型。

输出描述

返回索引和最小的满足要求的步数组合(顺序保持 s t e p s steps steps中原有顺序)

备注

  • c o u n t ≤ 1000 count \leq 1000 count1000
  • 0 ≤ s t e p s . l e n g t h ≤ 5000 0 \leq steps.length \leq 5000 0steps.length5000
  • − 100000000 ≤ s t e p s ≤ 100000000 -100000000 \leq steps \leq 100000000 100000000steps100000000

样例

输入

[1,4,5,2,]
7

输出

[5,2]

说明

输入

[-1,2,4,9,6]
8

输出

[-1,9]

说明

此样例有多种组合满足两回合跳到最后,譬如: [ − 1 , 9 ] [-1,9] [1,9] [ 2 , 6 ] [2,6] [2,6],其中 [ − 1 , 9 ] [-1,9] [1,9]的索引和为 0 + 3 = 3 0+3=3 0+3=3 [ 2 , 6 ] [2,6] [2,6]的索和为 1 + 4 = 5 1+4=5 1+4=5,所以索引和最小的步数组合 [ − 1 , 9 ] [-1,9] [1,9]

你可能感兴趣的:(2023秋招,华为od,华为,算法,python,java)