【跳房子】【java编程】【算法】【华为OD】面试题:跳房子,也叫跳飞机,是一种世界性的儿童游戏游戏参与者需要分多个回合按顺序跳到第1格直到房子的最后一格。

这是一篇关于解决跳房子问题的博客,探讨如何在两回合内通过不同步数组合跳到最后一格。博客提供了两种Java解决方案,包括双重循环和滑动窗口的方法,旨在解决华为OD面试中的算法题。
摘要由CSDN通过智能技术生成

<网上有题目是跳3个回合,此题是2个回合> 题目是复制的,代码是原创java代码。 

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

假设房子的总格数是count,小红每回合可能连续跳的步教都放在数组steps中,请问数组中是否有一种步数的组合,可以让小红两个回合跳到量后一格?如果有,请输出索引和最小的步数组合.

注意:

数组中的步数可以重复,但数组中的元素不能重复使用

输入描述

第一行输入为房子总格数count,它是int整数类型。

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

输出描述

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

示例1:

输入

[1,4,5,2,2]

7

输出

[5, 2]

示例2:

输入

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

8

输出

[-1, 9]

说明

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

【Java代码1:】双重循环

public static void main(String[] args) {
    Scanner scanner = new Scanner(System.in);
    //int[] ints = Arrays.stream(scanner.nextLine().split(",")).ma
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

时光如沐

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值