Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

Commit b2d4cc6

Browse files
committed
commit solution 80
1 parent 8a3649c commit b2d4cc6

File tree

6 files changed

+58
-7
lines changed

6 files changed

+58
-7
lines changed

‎index-tags.md

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,7 @@
1414
| [35](https://leetcode-cn.com/problems/search-insert-position) | [搜索插入位置](/solution/1-99/0035.search-insert-position/) | `数组`,`二分查找` | <font color=green>简单</font> ||
1515
| [66](https://leetcode-cn.com/problems/plus-one) | [加一](/solution/1-99/0066.plus-one/) | `数组` | <font color=green>简单</font> ||
1616
| [75](https://leetcode-cn.com/problems/sort-colors) | [颜色分类](/solution/1-99/0075.sort-colors/) | `排序`,`数组`,`双指针` | <font color=blue>中等</font> ||
17+
| [80](https://leetcode-cn.com/problems/remove-duplicates-from-sorted-array-ii) | [删除排序数组中的重复项 ii](/solution/1-99/0080.remove-duplicates-from-sorted-array-ii/) | `数组`,`双指针` | <font color=blue>中等</font> ||
1718
| [88](https://leetcode-cn.com/problems/merge-sorted-array) | [合并两个有序数组](/solution/1-99/0088.merge-sorted-array/) | `数组`,`双指针` | <font color=green>简单</font> ||
1819
| [118](https://leetcode-cn.com/problems/pascals-triangle) | [杨辉三角](/solution/100-199/0118.pascal%27s-triangle/) | `数组` | <font color=green>简单</font> ||
1920
| [167](https://leetcode-cn.com/problems/two-sum-ii-input-array-is-sorted) | [两数之和 ii - 输入有序数组](/solution/100-199/0167.two-sum-ii---input-array-is-sorted/) | `数组`,`双指针`,`二分查找` | <font color=green>简单</font> ||
@@ -83,6 +84,7 @@
8384
| [27](https://leetcode-cn.com/problems/remove-element) | [移除元素](/solution/1-99/0027.remove-element/) | `数组`,`双指针` | <font color=green>简单</font> ||
8485
| [28](https://leetcode-cn.com/problems/implement-strstr) | [实现 strstr()](/solution/1-99/0028.implement-strstr%28%29/) | `双指针`,`字符串` | <font color=green>简单</font> ||
8586
| [75](https://leetcode-cn.com/problems/sort-colors) | [颜色分类](/solution/1-99/0075.sort-colors/) | `排序`,`数组`,`双指针` | <font color=blue>中等</font> ||
87+
| [80](https://leetcode-cn.com/problems/remove-duplicates-from-sorted-array-ii) | [删除排序数组中的重复项 ii](/solution/1-99/0080.remove-duplicates-from-sorted-array-ii/) | `数组`,`双指针` | <font color=blue>中等</font> ||
8688
| [88](https://leetcode-cn.com/problems/merge-sorted-array) | [合并两个有序数组](/solution/1-99/0088.merge-sorted-array/) | `数组`,`双指针` | <font color=green>简单</font> ||
8789
| [125](https://leetcode-cn.com/problems/valid-palindrome) | [验证回文串](/solution/100-199/0125.valid-palindrome/) | `双指针`,`字符串` | <font color=green>简单</font> ||
8890
| [167](https://leetcode-cn.com/problems/two-sum-ii-input-array-is-sorted) | [两数之和 ii - 输入有序数组](/solution/100-199/0167.two-sum-ii---input-array-is-sorted/) | `数组`,`双指针`,`二分查找` | <font color=green>简单</font> ||

‎index-type.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -448,7 +448,7 @@
448448
| [77](https://leetcode-cn.com/problems/combinations) | [组合](/solution/1-99/0077.combinations/) | `回溯算法` | <font color=blue>中等</font> |
449449
| [78](https://leetcode-cn.com/problems/subsets) | [子集](/solution/1-99/0078.subsets/) | `位运算`,`数组`,`回溯算法` | <font color=blue>中等</font> |
450450
| [79](https://leetcode-cn.com/problems/word-search) | [单词搜索](/solution/1-99/0079.word-search/) | `数组`,`回溯算法` | <font color=blue>中等</font> |
451-
| [80](https://leetcode-cn.com/problems/remove-duplicates-from-sorted-array-ii) | [删除排序数组中的重复项 ii](/solution/1-99/0080.remove-duplicates-from-sorted-array-ii/) | `数组`,`双指针` | <font color=blue>中等</font> |
451+
| [80](https://leetcode-cn.com/problems/remove-duplicates-from-sorted-array-ii) | [删除排序数组中的重复项 ii](/solution/1-99/0080.remove-duplicates-from-sorted-array-ii/) | `数组`,`双指针` | <font color=blue>中等</font> ||
452452
| [81](https://leetcode-cn.com/problems/search-in-rotated-sorted-array-ii) | [搜索旋转排序数组 ii](/solution/1-99/0081.search-in-rotated-sorted-array-ii/) | `数组`,`二分查找` | <font color=blue>中等</font> |
453453
| [82](https://leetcode-cn.com/problems/remove-duplicates-from-sorted-list-ii) | [删除排序链表中的重复元素 ii](/solution/1-99/0082.remove-duplicates-from-sorted-list-ii/) | `链表` | <font color=blue>中等</font> |
454454
| [86](https://leetcode-cn.com/problems/partition-list) | [分隔链表](/solution/1-99/0086.partition-list/) | `链表`,`双指针` | <font color=blue>中等</font> |

‎solution/1-99/0080.remove-duplicates-from-sorted-array-ii/README.md

Lines changed: 15 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
# [80. 删除排序数组中的重复项 II](https://leetcode-cn.com/problems/remove-duplicates-from-sorted-array-ii)
22

33
### 题目描述
4-
<!-- 这里写题目描述 -->
4+
55
<p>给定一个排序数组,你需要在<strong><a href="http://baike.baidu.com/item/%E5%8E%9F%E5%9C%B0%E7%AE%97%E6%B3%95" target="_blank">原地</a></strong>删除重复出现的元素,使得每个元素最多出现两次,返回移除后数组的新长度。</p>
66

77
<p>不要使用额外的数组空间,你必须在<strong><a href="https://baike.baidu.com/item/%E5%8E%9F%E5%9C%B0%E7%AE%97%E6%B3%95" target="_blank">原地</a>修改输入数组</strong>并在使用 O(1) 额外空间的条件下完成。</p>
@@ -44,15 +44,25 @@ for (int i = 0; i &lt; len; i++) {
4444

4545
### 解题思路
4646

47+
1. hash table 和双指针
4748

4849
### 具体解法
4950

50-
<!-- tabs:start -->
5151

5252
#### **Golang**
5353
```go
54-
54+
func removeDuplicates(nums []int) int {
55+
numMap := make(map[int]int)
56+
l := len(nums)
57+
for i := 0; i < l; i++ {
58+
if numMap[nums[i]] >= 2 {
59+
nums = append(nums[:i], nums[i+1:]...)
60+
i--
61+
l--
62+
}
63+
numMap[nums[i]]++
64+
}
65+
return len(nums)
66+
}
5567
```
5668

57-
<!-- tabs:end -->
58-
Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,24 @@
1+
package leetcode
2+
3+
/*
4+
* @lc app=leetcode.cn id=80 lang=golang
5+
*
6+
* [80] 删除排序数组中的重复项 II
7+
*/
8+
9+
// @lc code=start
10+
func removeDuplicates(nums []int) int {
11+
numMap := make(map[int]int)
12+
l := len(nums)
13+
for i := 0; i < l; i++ {
14+
if numMap[nums[i]] >= 2 {
15+
nums = append(nums[:i], nums[i+1:]...)
16+
i--
17+
l--
18+
}
19+
numMap[nums[i]]++
20+
}
21+
return len(nums)
22+
}
23+
24+
// @lc code=end
Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,15 @@
1+
package leetcode
2+
3+
import (
4+
"testing"
5+
)
6+
7+
func TestRemoveDuplicates(t *testing.T) {
8+
var ret int
9+
var nums []int
10+
ret = 7
11+
nums = []int{0, 0, 1, 1, 1, 1, 2, 3, 3}
12+
if ret != removeDuplicates(nums) {
13+
t.Fatalf("case fails %v\n", ret)
14+
}
15+
}

‎solution/1-99/_sidebar.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -85,7 +85,7 @@
8585
- [77. 组合](solution/1-99/0077.combinations/)
8686
- [78. 子集](solution/1-99/0078.subsets/)
8787
- [79. 单词搜索](solution/1-99/0079.word-search/)
88-
- [80. 删除排序数组中的重复项 ii](solution/1-99/0080.remove-duplicates-from-sorted-array-ii/)
88+
- [80. 删除排序数组中的重复项 ii](solution/1-99/0080.remove-duplicates-from-sorted-array-ii/)
8989
- [81. 搜索旋转排序数组 ii](solution/1-99/0081.search-in-rotated-sorted-array-ii/)
9090
- [82. 删除排序链表中的重复元素 ii](solution/1-99/0082.remove-duplicates-from-sorted-list-ii/)
9191
- [83. 删除排序链表中的重复元素 ✅](solution/1-99/0083.remove-duplicates-from-sorted-list/)

0 commit comments

Comments
(0)

AltStyle によって変換されたページ (->オリジナル) /