1.两层循环
时间复杂度 o(n^2)
2.先排序再去重
时间复杂度 o(n*logn)
3.哈希(数组元素都是number)
function unique(arr) {
let arrMap = [];
let arr1 = [];
for (let i = 0; i < arr.length; i++) {
arrMap[arr[i]] = true;
}
for (let i in arrMap) {
arr1.push(Number(i)); // i是字符串,转化为数字存入arr1
}
return arr1;
}
时间复杂度 取决于 arrMap[]
底层实现
如果是二叉树
就是 o(n*logn)
,哈希表就是o(n)