美团2021笔试题(第十场)-正则序列

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

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

美团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
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值