AlgoMooc
你已开通华为OD训练营权益,还差最后一步——完成入营激活(兑换课程 + 加飞书 + 登记服务群),即可解锁全部课程与专属服务。去激活 →
← 返回题库

N0001. 0401-计算数列位置N的值

中等通过率 57% · 提交 54 · 通过 31
模拟枚举

小慕正在研究一个数列生成规则。给定两个整数M和N,按照以下规则构造数列: 数列的前M项依次为1, 2, 3, …, M。 从第M+1项开始,每一项的值由它前面的M项决定: - 如果前面的M个数中存在重复的数值,那么当前项等于这M个数中的最大值与最小值之和; - 如果前面的M个数中没有重复的数值,那么当前项等于这M个数中的最大值与最小值之差。 小慕需要你帮忙计算这个数列的第N项的值。

提示:带虚线的词点一下有通俗解释。

输入描述

输入M,N两个数

输出描述

请计算该数列第N个位置上的数值

示例

示例 1

输入

5 1

输出

1

示例 2

输入

5 5

输出

5

示例 3

输入

5 6

输出

4

示例 4

输入

5 7

输出

7

示例 5

输入

5 8

输出

10

时间限制 1000 ms · 内存限制 128 MB

看不懂题目?点开图解
示例图解:M=5,计算第6个位置 1 2 3 4 5 ? 前5个元素:1,2,3,4,5(无重复) 最大值=5,最小值=1,差=4 所以第6个位置的值 = 5 - 1 = 4 结果:4 如果前5个元素有重复(例如1,2,3,4,4),则用和:4+1=5
写完代码点「提交」,将对全部测试用例判题。

向老师提问

针对「0401-计算数列位置N的值」把疑问、代码和报错填清楚,老师收到后能更快、更准地回复你。