删除重复元素,时间复杂度O(n)
删除除数组中重复数字,返回删除后数组长度,不能创建新数组、对象,时间复杂度O(n)
```js
function unique(arr) {
arr.sort((a, b) => a - b);
for (let i = 1; i < arr.length;) {
if (arr[i - 1] === arr[i]) {
arr.splice(i, 1)
} else {
i++
}
}
console.log(arr)
}
unique([1, 2, 2, 2, 2, 2, 3, 3, 4, 5, 6, 6])
```
```js
function unique(arr) {
arr.sort((a, b) => a - b);
for (let i = 1; i < arr.length;) {
if (arr[i - 1] === arr[i]) {
arr.splice(i, 1)
} else {
i++
}
}
console.log(arr)
}
unique([1, 2, 2, 2, 2, 2, 3, 3, 4, 5, 6, 6])
```
全部评论
sort了还能是O(n)吗
有其他语言解法吗?谢谢
厉害,这应该是最优解了吧
相关推荐
专业嗎喽:硕佬,把学校背景放后面几段,学校背景双非还学院,让人看了就不想往下看。
把实习经历和个人奖项放前面,用数字化简述自己实习的成果和掌握的技能,比如负责项目一次通过率90%,曾4次发现项目潜在问题风险为公司减少损失等等 点赞 评论 收藏
分享