掘金团队号上线,助你 Offer 临门! 点击 查看详情 (opens new window)
# 前言
第一次参加掘金打卡活动,别的不说 主要是奔着奖励来的。4.12开始为了达到14题小目标 冲冲冲!!!这是第8题。
# 题目描述
题目链接:删除有序数组中的重复项 (opens new window)
题目描述我用截图leetcode的为主,所以题目如下图
# 思路分析
题目解析:一开始我在想这里就是一个简单数组去重 不是很快嘛
提交发现错误了
看来要重新审题了
1.给你一个有序数组 nums ,请你 原地 删除重复出现的元素,使每个元素 只出现一次 ,返回删除后数组的新长度。 看见这句话 有没有熟悉的感觉js的splice
2.nums 已按升序排列 说明不是乱序的
那就用最简单的遍历数组 然后用splice去删除重复项目
试一下:
成功通过了
# AC 代码
/**
* @param {number[]} nums
* @return {number}
*/
var removeDuplicates = function(nums) {
if(nums.length===0){
return 0
}
for(let i = 0; i < nums.length; i++) {
if(nums[i] === nums[i+1]) {
nums.splice(i, 1)
i = i - 1
}
}
return nums.length
};
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
# 总结
坚持就是胜利。第8题算法完成,坚持就是胜利!!!
↓↓↓
↑↑↑
这里可以点!这里可以点!这里可以点!