在 JavaScript 中创建唯一的数组
问题
我们需要编写一个JavaScript函数,该函数采用数字数组arr作为第一个也是唯一的参数。
移动包括选择任意arr[i],然后将其递增1。我们的函数应该返回最少的移动次数,以使数组arr中的每个值唯一。
例如,如果函数的输入为-
const arr = [12, 15, 7, 15];
那么输出应该是-
const output = 1;
输出说明
因为如果我们将15增至16,则数组将包含所有唯一元素。
示例
为此的代码将是-
const arr = [12, 15, 7, 15];
const makeUnique = (arr = []) => {
arr.sort((a, b) => a - b);
let count = 0;
for (let i = 1; i < arr.length; i++) {
if (arr[i] <= arr[i - 1]) {
const temp = arr[i]
arr[i] = arr[i - 1] + 1
count += arr[i] - temp
};
};
return count;
};
console.log(makeUnique(arr));输出结果
控制台中的输出将是-
1
热门推荐
10 香港老妈结婚祝福语简短
11 毕业立体贺卡祝福语简短
12 简短新年年会祝福语
13 评论小品祝福语大全简短
14 恭喜师兄结婚祝福语简短
15 员工集体辞职祝福语简短
16 高中新生祝福语 简短
17 装修祝福语男生搞笑简短
18 生日开业蛋糕祝福语简短