Skip to content

Commit c2b7486

Browse files
committed
feat: update leetcode solutions: No.0027. Remove Element
1 parent 4d8f6a3 commit c2b7486

File tree

6 files changed

+105
-80
lines changed

6 files changed

+105
-80
lines changed

solution/0000-0099/0027.Remove Element/README.md

+39-10
Original file line numberDiff line numberDiff line change
@@ -84,11 +84,8 @@ class Solution {
8484
public int removeElement(int[] nums, int val) {
8585
int cnt = 0, n = nums.length;
8686
for (int i = 0; i < n; ++i) {
87-
if (nums[i] == val) {
88-
++cnt;
89-
} else {
90-
nums[i - cnt] = nums[i];
91-
}
87+
if (nums[i] == val) ++cnt;
88+
else nums[i - cnt] = nums[i];
9289
}
9390
return n - cnt;
9491
}
@@ -103,17 +100,49 @@ public:
103100
int removeElement(vector<int>& nums, int val) {
104101
int cnt = 0, n = nums.size();
105102
for (int i = 0; i < n; ++i) {
106-
if (nums[i] == val) {
107-
++cnt;
108-
} else {
109-
nums[i - cnt] = nums[i];
110-
}
103+
if (nums[i] == val) ++cnt;
104+
else nums[i - cnt] = nums[i];
111105
}
112106
return n - cnt;
113107
}
114108
};
115109
```
116110
111+
### **JavaScript**
112+
113+
```js
114+
/**
115+
* @param {number[]} nums
116+
* @param {number} val
117+
* @return {number}
118+
*/
119+
var removeElement = function (nums, val) {
120+
let cnt = 0;
121+
const n = nums.length;
122+
for (let i = 0; i < n; ++i) {
123+
if (nums[i] == val) ++cnt;
124+
else nums[i - cnt] = nums[i];
125+
}
126+
return n - cnt;
127+
};
128+
```
129+
130+
### **Go**
131+
132+
```go
133+
func removeElement(nums []int, val int) int {
134+
cnt, n := 0, len(nums)
135+
for i := 0; i < n; i++ {
136+
if (nums[i] == val) {
137+
cnt++
138+
} else {
139+
nums[i - cnt] = nums[i]
140+
}
141+
}
142+
return n - cnt
143+
}
144+
```
145+
117146
### **...**
118147

119148
```

solution/0000-0099/0027.Remove Element/README_EN.md

+39-10
Original file line numberDiff line numberDiff line change
@@ -95,11 +95,8 @@ class Solution {
9595
public int removeElement(int[] nums, int val) {
9696
int cnt = 0, n = nums.length;
9797
for (int i = 0; i < n; ++i) {
98-
if (nums[i] == val) {
99-
++cnt;
100-
} else {
101-
nums[i - cnt] = nums[i];
102-
}
98+
if (nums[i] == val) ++cnt;
99+
else nums[i - cnt] = nums[i];
103100
}
104101
return n - cnt;
105102
}
@@ -114,17 +111,49 @@ public:
114111
int removeElement(vector<int>& nums, int val) {
115112
int cnt = 0, n = nums.size();
116113
for (int i = 0; i < n; ++i) {
117-
if (nums[i] == val) {
118-
++cnt;
119-
} else {
120-
nums[i - cnt] = nums[i];
121-
}
114+
if (nums[i] == val) ++cnt;
115+
else nums[i - cnt] = nums[i];
122116
}
123117
return n - cnt;
124118
}
125119
};
126120
```
127121
122+
### **JavaScript**
123+
124+
```js
125+
/**
126+
* @param {number[]} nums
127+
* @param {number} val
128+
* @return {number}
129+
*/
130+
var removeElement = function (nums, val) {
131+
let cnt = 0;
132+
const n = nums.length;
133+
for (let i = 0; i < n; ++i) {
134+
if (nums[i] == val) ++cnt;
135+
else nums[i - cnt] = nums[i];
136+
}
137+
return n - cnt;
138+
};
139+
```
140+
141+
### **Go**
142+
143+
```go
144+
func removeElement(nums []int, val int) int {
145+
cnt, n := 0, len(nums)
146+
for i := 0; i < n; i++ {
147+
if (nums[i] == val) {
148+
cnt++
149+
} else {
150+
nums[i - cnt] = nums[i]
151+
}
152+
}
153+
return n - cnt
154+
}
155+
```
156+
128157
### **...**
129158

130159
```

solution/0000-0099/0027.Remove Element/Solution.cpp

+2-5
Original file line numberDiff line numberDiff line change
@@ -3,11 +3,8 @@ class Solution {
33
int removeElement(vector<int>& nums, int val) {
44
int cnt = 0, n = nums.size();
55
for (int i = 0; i < n; ++i) {
6-
if (nums[i] == val) {
7-
++cnt;
8-
} else {
9-
nums[i - cnt] = nums[i];
10-
}
6+
if (nums[i] == val) ++cnt;
7+
else nums[i - cnt] = nums[i];
118
}
129
return n - cnt;
1310
}
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,11 @@
11
func removeElement(nums []int, val int) int {
2-
if len(nums) == 0 {
3-
return 0
4-
}
5-
i := 0
6-
for j := 0; j < len(nums); j++ {
7-
if nums[j] != val {
8-
nums[i] = nums[j]
9-
i++
10-
}
11-
}
12-
return i
13-
}
2+
cnt, n := 0, len(nums)
3+
for i := 0; i < n; i++ {
4+
if (nums[i] == val) {
5+
cnt++
6+
} else {
7+
nums[i - cnt] = nums[i]
8+
}
9+
}
10+
return n - cnt
11+
}

solution/0000-0099/0027.Remove Element/Solution.java

+2-5
Original file line numberDiff line numberDiff line change
@@ -2,11 +2,8 @@ class Solution {
22
public int removeElement(int[] nums, int val) {
33
int cnt = 0, n = nums.length;
44
for (int i = 0; i < n; ++i) {
5-
if (nums[i] == val) {
6-
++cnt;
7-
} else {
8-
nums[i - cnt] = nums[i];
9-
}
5+
if (nums[i] == val) ++cnt;
6+
else nums[i - cnt] = nums[i];
107
}
118
return n - cnt;
129
}
Original file line numberDiff line numberDiff line change
@@ -1,39 +1,14 @@
1-
var removeElement3 = function (nums, val) {
2-
let len = nums.length;
3-
if (len < 1) {
4-
return 0;
5-
}
6-
7-
let i = 0;
8-
while (i < len) {
9-
if (nums[i] === val) {
10-
nums[i] = nums[len - 1];
11-
len--;
12-
} else {
13-
i++;
14-
}
15-
}
16-
return len;
17-
};
18-
19-
var removeElement2 = function (nums, val) {
20-
let i = 0;
21-
for (let j = 0; j < nums.length; j++) {
22-
if (nums[j] !== val) {
23-
nums[i] = nums[j];
24-
i++;
25-
}
26-
}
27-
return i;
28-
};
29-
1+
/**
2+
* @param {number[]} nums
3+
* @param {number} val
4+
* @return {number}
5+
*/
306
var removeElement = function (nums, val) {
31-
let len = nums.length;
32-
for (let i = 0; i < len; i++) {
33-
if (nums[i] === val) {
34-
nums.splice(i, 1);
35-
i--;
36-
}
37-
}
38-
return len;
39-
};
7+
let cnt = 0;
8+
const n = nums.length;
9+
for (let i = 0; i < n; ++i) {
10+
if (nums[i] == val) ++cnt;
11+
else nums[i - cnt] = nums[i];
12+
}
13+
return n - cnt;
14+
};

0 commit comments

Comments
 (0)