Skip to content

Commit 1ad685a

Browse files
committed
feat: update solutions to lc problems: No.0217,0349,1002
1 parent 3cc89b5 commit 1ad685a

File tree

18 files changed

+383
-76
lines changed

18 files changed

+383
-76
lines changed

solution/0200-0299/0217.Contains Duplicate/README.md

Lines changed: 42 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -73,6 +73,48 @@ function containsDuplicate(nums: number[]): boolean {
7373
};
7474
```
7575

76+
### **C++**
77+
78+
```cpp
79+
class Solution {
80+
public:
81+
bool containsDuplicate(vector<int>& nums) {
82+
unordered_set<int> s;
83+
for (int e : nums)
84+
{
85+
if (s.count(e)) return true;
86+
s.insert(e);
87+
}
88+
return false;
89+
}
90+
};
91+
```
92+
93+
### **Go**
94+
95+
```go
96+
func containsDuplicate(nums []int) bool {
97+
s := make(map[int]bool)
98+
for _, e := range nums {
99+
if s[e] {
100+
return true
101+
}
102+
s[e] = true
103+
}
104+
return false
105+
}
106+
```
107+
108+
### **C#**
109+
110+
```cs
111+
public class Solution {
112+
public bool ContainsDuplicate(int[] nums) {
113+
return nums.Distinct().Count() < nums.Length;
114+
}
115+
}
116+
```
117+
76118
### **...**
77119

78120
```

solution/0200-0299/0217.Contains Duplicate/README_EN.md

Lines changed: 42 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -62,6 +62,48 @@ function containsDuplicate(nums: number[]): boolean {
6262
};
6363
```
6464

65+
### **C++**
66+
67+
```cpp
68+
class Solution {
69+
public:
70+
bool containsDuplicate(vector<int>& nums) {
71+
unordered_set<int> s;
72+
for (int e : nums)
73+
{
74+
if (s.count(e)) return true;
75+
s.insert(e);
76+
}
77+
return false;
78+
}
79+
};
80+
```
81+
82+
### **Go**
83+
84+
```go
85+
func containsDuplicate(nums []int) bool {
86+
s := make(map[int]bool)
87+
for _, e := range nums {
88+
if s[e] {
89+
return true
90+
}
91+
s[e] = true
92+
}
93+
return false
94+
}
95+
```
96+
97+
### **C#**
98+
99+
```cs
100+
public class Solution {
101+
public bool ContainsDuplicate(int[] nums) {
102+
return nums.Distinct().Count() < nums.Length;
103+
}
104+
}
105+
```
106+
65107
### **...**
66108

67109
```
Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,12 @@
1+
class Solution {
2+
public:
3+
bool containsDuplicate(vector<int>& nums) {
4+
unordered_set<int> s;
5+
for (int e : nums)
6+
{
7+
if (s.count(e)) return true;
8+
s.insert(e);
9+
}
10+
return false;
11+
}
12+
};
Lines changed: 3 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,5 @@
1-
// https://leetcode.com/problems/contains-duplicate/
2-
3-
using System.Linq;
4-
5-
public partial class Solution
6-
{
7-
public bool ContainsDuplicate(int[] nums)
8-
{
1+
public class Solution {
2+
public bool ContainsDuplicate(int[] nums) {
93
return nums.Distinct().Count() < nums.Length;
104
}
11-
}
5+
}
Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
func containsDuplicate(nums []int) bool {
2+
s := make(map[int]bool)
3+
for _, e := range nums {
4+
if s[e] {
5+
return true
6+
}
7+
s[e] = true
8+
}
9+
return false
10+
}

solution/0300-0399/0349.Intersection of Two Arrays/README.md

Lines changed: 49 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -65,18 +65,18 @@ class Solution {
6565
for (int num : nums1) {
6666
s.add(num);
6767
}
68-
Set<Integer> res = new HashSet<>();
68+
Set<Integer> t = new HashSet<>();
6969
for (int num : nums2) {
7070
if (s.contains(num)) {
71-
res.add(num);
71+
t.add(num);
7272
}
7373
}
74-
int[] output = new int[res.size()];
74+
int[] res = new int[t.size()];
7575
int i = 0;
76-
for (int num : res) {
77-
output[i++] = num;
76+
for (int num : t) {
77+
res[i++] = num;
7878
}
79-
return output;
79+
return res;
8080
}
8181
}
8282
```
@@ -104,6 +104,49 @@ var intersection = function(nums1, nums2) {
104104
};
105105
```
106106

107+
### **C++**
108+
109+
```cpp
110+
class Solution {
111+
public:
112+
vector<int> intersection(vector<int>& nums1, vector<int>& nums2) {
113+
unordered_set<int> s;
114+
for (int num : nums1) s.insert(num);
115+
unordered_set<int> t;
116+
vector<int> res;
117+
for (int num : nums2)
118+
{
119+
if (s.count(num) && !t.count(num))
120+
{
121+
t.insert(num);
122+
res.push_back(num);
123+
}
124+
}
125+
return res;
126+
}
127+
};
128+
```
129+
130+
### **Go**
131+
132+
```go
133+
func intersection(nums1 []int, nums2 []int) []int {
134+
s := make(map[int]bool)
135+
for _, num := range nums1 {
136+
s[num] = true
137+
}
138+
t := make(map[int]bool)
139+
var res []int
140+
for _, num := range nums2 {
141+
if s[num] && !t[num] {
142+
res = append(res, num)
143+
t[num] = true
144+
}
145+
}
146+
return res
147+
}
148+
```
149+
107150
### **...**
108151

109152
```

solution/0300-0399/0349.Intersection of Two Arrays/README_EN.md

Lines changed: 49 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -57,18 +57,18 @@ class Solution {
5757
for (int num : nums1) {
5858
s.add(num);
5959
}
60-
Set<Integer> res = new HashSet<>();
60+
Set<Integer> t = new HashSet<>();
6161
for (int num : nums2) {
6262
if (s.contains(num)) {
63-
res.add(num);
63+
t.add(num);
6464
}
6565
}
66-
int[] output = new int[res.size()];
66+
int[] res = new int[t.size()];
6767
int i = 0;
68-
for (int num : res) {
69-
output[i++] = num;
68+
for (int num : t) {
69+
res[i++] = num;
7070
}
71-
return output;
71+
return res;
7272
}
7373
}
7474
```
@@ -96,6 +96,49 @@ var intersection = function(nums1, nums2) {
9696
};
9797
```
9898

99+
### **C++**
100+
101+
```cpp
102+
class Solution {
103+
public:
104+
vector<int> intersection(vector<int>& nums1, vector<int>& nums2) {
105+
unordered_set<int> s;
106+
for (int num : nums1) s.insert(num);
107+
unordered_set<int> t;
108+
vector<int> res;
109+
for (int num : nums2)
110+
{
111+
if (s.count(num) && !t.count(num))
112+
{
113+
t.insert(num);
114+
res.push_back(num);
115+
}
116+
}
117+
return res;
118+
}
119+
};
120+
```
121+
122+
### **Go**
123+
124+
```go
125+
func intersection(nums1 []int, nums2 []int) []int {
126+
s := make(map[int]bool)
127+
for _, num := range nums1 {
128+
s[num] = true
129+
}
130+
t := make(map[int]bool)
131+
var res []int
132+
for _, num := range nums2 {
133+
if s[num] && !t[num] {
134+
res = append(res, num)
135+
t[num] = true
136+
}
137+
}
138+
return res
139+
}
140+
```
141+
99142
### **...**
100143

101144
```
Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,18 @@
1+
class Solution {
2+
public:
3+
vector<int> intersection(vector<int>& nums1, vector<int>& nums2) {
4+
unordered_set<int> s;
5+
for (int num : nums1) s.insert(num);
6+
unordered_set<int> t;
7+
vector<int> res;
8+
for (int num : nums2)
9+
{
10+
if (s.count(num) && !t.count(num))
11+
{
12+
t.insert(num);
13+
res.push_back(num);
14+
}
15+
}
16+
return res;
17+
}
18+
};
Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,15 @@
1+
func intersection(nums1 []int, nums2 []int) []int {
2+
s := make(map[int]bool)
3+
for _, num := range nums1 {
4+
s[num] = true
5+
}
6+
t := make(map[int]bool)
7+
var res []int
8+
for _, num := range nums2 {
9+
if s[num] && !t[num] {
10+
res = append(res, num)
11+
t[num] = true
12+
}
13+
}
14+
return res
15+
}

solution/0300-0399/0349.Intersection of Two Arrays/Solution.java

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -4,17 +4,17 @@ public int[] intersection(int[] nums1, int[] nums2) {
44
for (int num : nums1) {
55
s.add(num);
66
}
7-
Set<Integer> res = new HashSet<>();
7+
Set<Integer> t = new HashSet<>();
88
for (int num : nums2) {
99
if (s.contains(num)) {
10-
res.add(num);
10+
t.add(num);
1111
}
1212
}
13-
int[] output = new int[res.size()];
13+
int[] res = new int[t.size()];
1414
int i = 0;
15-
for (int num : res) {
16-
output[i++] = num;
15+
for (int num : t) {
16+
res[i++] = num;
1717
}
18-
return output;
18+
return res;
1919
}
2020
}

0 commit comments

Comments
 (0)