Skip to content

数组去重并排序

题目要求: 给定一个包含重复元素的数组,编写一个函数,返回一个去重并按升序排列的新数组。

示例1:

输入:[4, 5, 6, 4, 2, 3, 5, 1]

输出:[1, 2, 3, 4, 5, 6]

示例2:

输入:[1, 1, 2, 2, 3, 3]

输出:[1, 2, 3]

解题思路

使用 Set 数据结构对数组进行去重。

将去重后的数组转换为数组类型。

使用数组的 sort 方法对数组进行升序排序。

实现代码(JavaScript):

js
function uniqueAndSort(arr) {
    // 使用 Set 去重
    const uniqueArr = [...new Set(arr)];
    // 对去重后的数组进行排序
    uniqueArr.sort((a, b) => a - b);
    return uniqueArr;
}

// 示例1的测试
const input1 = [4, 5, 6, 4, 2, 3, 5, 1];
console.log(uniqueAndSort(input1)); // 输出: [1, 2, 3, 4, 5, 6]

// 示例2的测试
const input2 = [1, 1, 2, 2, 3, 3];
console.log(uniqueAndSort(input2)); // 输出: [1, 2, 3]

这道题目通过使用 Set 数据结构和数组的 sort 方法,简洁高效地实现了数组的去重和排序,适合用于考察候选人对数组基本操作的掌握情况。