华为OD机试真题 新系统2026-04-01 Java&Go【计算数列位置N的值】

目录

题目

思路

Code


题目

1、输入M、N两个数,则按照以下规则形成一个数列;
2、数列的前M个元素的值为1到M;
3、从M+1个元素开始,计算的逻辑为:
如果其前面的M个元素中,存在值相同的元素,则该位置上的数值等于前面M个数中最大的数值与最小的数值之如果其前面的M个元素中,不存在值相同的元素,则该位置上的数值等于前面M个数中最大的数值与最小的数值之差;
请计算该数列第N个位置上的数值
补充说明
M取值范围:3<=M<=10
N取值范围:1<= N<=50

输入描述

两个整数,用逗号分割,分别表示M和N

输出描述

一个整数,表示数列第N个位置上的数值
示例1
输入

5,1

输出

1

思路

简单的逻辑模拟类题目,解法步骤:

  1. 初始化:数列前 M 个元素为 [1, 2, ..., M]
  2. 递推生成:从第 M+1 个位置起,取前面 M 个元素,判断是否有重复值:
    • 有重复 → 新值 = max + min(之和)
    • 无重复 → 新值 = max - min(之差)
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

MISAYAONE

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

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

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

打赏作者

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

抵扣说明:

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

余额充值