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

K0016. 魔法索引差距

简单通过率 66% · 提交 161 · 通过 107
哈希表数学模拟

小慕正在负责一个魔法数字系统的调试任务。在这个系统中,数字不仅仅是数值,它们的位置和顺序也蕴含着重要的能量。小慕需要处理一个被打乱顺序的数字列表,并计算这些数字之间索引位置的差距总和。这个总和将决定系统的最终能量输出。 给定一个包含从 1 到 n 的整数的列表,这些整数的排列是的。小慕的任务是计算这些数字在列表中的的总和。具体来说,需要计算从数字 1 到 n 每一对在列表中的索引差距,并求这些差距的总和。

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

输入描述

- 第一行:一个整数 `n`,表示列表中的数字个数。 - 第二行:一个包含 `n` 个整数的列表 `numbers`,这些整数是从 1 到 n 的一组乱序整数。 - `1 <= n <= 10^5`

输出描述

输出一个整数,表示从 1 到 n 每一对相邻数字在列表中的索引差距的总和。

示例

示例 1

输入

5
1 5 3 4 2

输出

9

说明:- 数字 1 的索引是 0,数字 2 的索引是 4,数字 3 的索引是 2,数字 4 的索引是 3,数字 5 的索引是 1。 - 计算每对相邻数字的索引差: - 1 和 2:|0 - 4| = 4 - 2 和 3:|4 - 2| = 2 - 3 和 4:|2 - 3| = 1 - 4 和 5:|3 - 1| = 2 - 求和:4 + 2 + 1 + 2 = 9

示例 2

输入

4
4 3 2 1

输出

3

说明:- 数字 1 的索引是 3,数字 2 的索引是 2,数字 3 的索引是 1,数字 4 的索引是 0。 - 计算每对相邻数字的索引差: - 1 和 2:|3 - 2| = 1 - 2 和 3:|2 - 1| = 1 - 3 和 4:|1 - 0| = 1 - 求和:1 + 1 + 1 = 3

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

看不懂题目?点开图解
示例:列表 [1,5,3,4,2] 的索引差距计算索引:01234数字:15342数值相邻对:12:|0-4|=423:|4-2|=234:|2-3|=145:|3-1|=2总和 = 4+2+1+2 = 9
写完代码点「提交」,将对全部测试用例判题。

向老师提问

针对「魔法索引差距」把疑问、代码和报错填清楚,老师收到后能更快、更准地回复你。