美团2021笔试题(第十场)-正则序列
题目:我们称一个长度为n的序列为正则序列,当且仅当该序列是一个由1~n组成的排列,即该序列由n个正整数组成,取值在[1,n]范围,且不存在重复的数,同时正则序列不要求排序
有一天小团得到了一个长度为n的任意序列,他需要在有限次操作内,将这个序列变成一个正则序列,每次操作他可以任选序列中的一个数字,并将该数字加一或者减一。
请问他最少用多少次操作可以把这个序列变成正则序列?
输入描述:
输入第一行仅包含一个正整数n,表示任意序列的长度。(1<=n<=20000)
输入第二行包含n个整数,表示给出的序列,每个数的绝对值都小于10000。
输出描述:
输出仅包含一个整数,表示最少的操作数量。
示例
输入
5
-1 2 3 10 100
输出
103
解题:
let n = readline();
let list = readline

本文介绍了美团2021年笔试中的一道题目,涉及将一个序列转化为正则序列的问题。正则序列定义为由1到n的不重复整数组成。题目要求通过加一或减一操作,将任意序列变为正则序列,询问最少需要多少次操作。给定序列长度n(1≤n≤20000),并给出序列内容。解题关键在于先对序列排序,确保变化操作的最小次数。示例输入为长度5的序列[-1, 2, 3, 10, 100],输出为103,表示需要103次操作。"
114401611,10540021,Python数据预处理:插补法处理缺失值,"['数据预处理', 'Python', '机器学习', '数据缺失']
最低0.47元/天 解锁文章
2556

被折叠的 条评论
为什么被折叠?



