计算数列位置N的值2026 华为OD机试真题 4月15日华为OD上机新系统考试真题 100 分题型点击查看华为 OD 机试真题完整目录2026最新华为OD机试新系统卷 双机位C卷 真题题库目录全覆盖题库 逐点算法考点详解题目描述输入MN两个数则按照以下规则形成一个数列。数列的前M个元素的值为1到M从M1个元素开始计算逻辑为如果其前M个元素中存在值相同的元素则该位置上的数值等于前M个数中最大数值与最小数值之和。如果其前M个元素中不存在值相同的元素则该位置上的数值等于前M个数中最大的数值和最小数值之差。请计算该数列第N个位置上的数值补充3 M 101 N 502026 华为OD机试真题 4月15日华为OD上机新系统考试真题 100 分题型输入描述输出N和M使用,分割输出描述输出N位置上的数值示例1输入5,1输出1说明示例2输入5,5输出5说明示例3输入5,6输出4说明解题思路核心思想本题是一道模拟题要求根据给定的 $M$ 和 $N$ 按照特定规则生成数列并求出第 $N$ 个元素的值。数列生成规则1.前 $M$ 个元素直接赋值为 $1$ 到 $M$。 2.从第 $M1$ 个元素开始观察其前 $M$ 个元素。 - 如果前 $M$ 个元素中存在重复的值当前值 前 $M$ 个元素中的最大值 最小值。 - 如果前 $M$ 个元素中不存在重复的值当前值 前 $M$ 个元素中的最大值 - 最小值。解题步骤1. 使用一个列表数组存储生成的数列。 2. 循环 $N-M$ 次每次根据前 $M$ 个元素的状态计算新元素。 3. 判断重复可以使用集合Set或哈希表如果集合大小小于 $M$说明有重复。 4. 直接返回数列的第 $N$ 个元素。复杂度分析时间复杂度$O(N \times M)$。我们需要计算到第 $N$ 个元素每次计算需要遍历前 $M$ 个元素来找最大值、最小值并判断重复。给定 $N \le 50, M \le 10$复杂度非常低。空间复杂度$O(N)$。需要一个长度为 $N$ 的数组来存储数
4.1华为OD机试真题 新系统 - 计算数列位置N的值 (JavaPyCC++JsGo)
发布时间:2026/7/9 2:23:05
计算数列位置N的值2026 华为OD机试真题 4月15日华为OD上机新系统考试真题 100 分题型点击查看华为 OD 机试真题完整目录2026最新华为OD机试新系统卷 双机位C卷 真题题库目录全覆盖题库 逐点算法考点详解题目描述输入MN两个数则按照以下规则形成一个数列。数列的前M个元素的值为1到M从M1个元素开始计算逻辑为如果其前M个元素中存在值相同的元素则该位置上的数值等于前M个数中最大数值与最小数值之和。如果其前M个元素中不存在值相同的元素则该位置上的数值等于前M个数中最大的数值和最小数值之差。请计算该数列第N个位置上的数值补充3 M 101 N 502026 华为OD机试真题 4月15日华为OD上机新系统考试真题 100 分题型输入描述输出N和M使用,分割输出描述输出N位置上的数值示例1输入5,1输出1说明示例2输入5,5输出5说明示例3输入5,6输出4说明解题思路核心思想本题是一道模拟题要求根据给定的 $M$ 和 $N$ 按照特定规则生成数列并求出第 $N$ 个元素的值。数列生成规则1.前 $M$ 个元素直接赋值为 $1$ 到 $M$。 2.从第 $M1$ 个元素开始观察其前 $M$ 个元素。 - 如果前 $M$ 个元素中存在重复的值当前值 前 $M$ 个元素中的最大值 最小值。 - 如果前 $M$ 个元素中不存在重复的值当前值 前 $M$ 个元素中的最大值 - 最小值。解题步骤1. 使用一个列表数组存储生成的数列。 2. 循环 $N-M$ 次每次根据前 $M$ 个元素的状态计算新元素。 3. 判断重复可以使用集合Set或哈希表如果集合大小小于 $M$说明有重复。 4. 直接返回数列的第 $N$ 个元素。复杂度分析时间复杂度$O(N \times M)$。我们需要计算到第 $N$ 个元素每次计算需要遍历前 $M$ 个元素来找最大值、最小值并判断重复。给定 $N \le 50, M \le 10$复杂度非常低。空间复杂度$O(N)$。需要一个长度为 $N$ 的数组来存储数