Skip to content

Commit e3c7009

Browse files
committedMay 29, 2023
feat: update solutions to lc problems: No.0001,2455
1 parent 7e5035e commit e3c7009

File tree

12 files changed

+143
-167
lines changed

12 files changed

+143
-167
lines changed
 

Diff for: ‎solution/0000-0099/0001.Two Sum/README.md

+11-9
Original file line numberDiff line numberDiff line change
@@ -201,17 +201,19 @@ class Solution {
201201
```rust
202202
use std::collections::HashMap;
203203

204-
pub fn soluation(nums: Vec<i32>, target: i32) -> Vec<i32> {
205-
let mut map = HashMap::new();
206-
for (i, item) in nums.iter().enumerate() {
207-
if map.contains_key(item) {
208-
return vec![i as i32, map[item]];
209-
} else {
210-
let x = target - nums[i];
211-
map.insert(x, i as i32);
204+
impl Solution {
205+
pub fn two_sum(nums: Vec<i32>, target: i32) -> Vec<i32> {
206+
let mut map = HashMap::new();
207+
for (i, item) in nums.iter().enumerate() {
208+
if map.contains_key(item) {
209+
return vec![i as i32, map[item]];
210+
} else {
211+
let x = target - nums[i];
212+
map.insert(x, i as i32);
213+
}
212214
}
215+
unreachable!()
213216
}
214-
unreachable!()
215217
}
216218
```
217219

Diff for: ‎solution/0000-0099/0001.Two Sum/README_EN.md

+11-9
Original file line numberDiff line numberDiff line change
@@ -190,17 +190,19 @@ class Solution {
190190
```rust
191191
use std::collections::HashMap;
192192

193-
pub fn soluation(nums: Vec<i32>, target: i32) -> Vec<i32> {
194-
let mut map = HashMap::new();
195-
for (i, item) in nums.iter().enumerate() {
196-
if map.contains_key(item) {
197-
return vec![i as i32, map[item]];
198-
} else {
199-
let x = target - nums[i];
200-
map.insert(x, i as i32);
193+
impl Solution {
194+
pub fn two_sum(nums: Vec<i32>, target: i32) -> Vec<i32> {
195+
let mut map = HashMap::new();
196+
for (i, item) in nums.iter().enumerate() {
197+
if map.contains_key(item) {
198+
return vec![i as i32, map[item]];
199+
} else {
200+
let x = target - nums[i];
201+
map.insert(x, i as i32);
202+
}
201203
}
204+
unreachable!()
202205
}
203-
unreachable!()
204206
}
205207
```
206208

Diff for: ‎solution/0000-0099/0001.Two Sum/Solution.rs

+12-10
Original file line numberDiff line numberDiff line change
@@ -1,14 +1,16 @@
11
use std::collections::HashMap;
22

3-
pub fn soluation(nums: Vec<i32>, target: i32) -> Vec<i32> {
4-
let mut map = HashMap::new();
5-
for (i, item) in nums.iter().enumerate() {
6-
if map.contains_key(item) {
7-
return vec![i as i32, map[item]];
8-
} else {
9-
let x = target - nums[i];
10-
map.insert(x, i as i32);
3+
impl Solution {
4+
pub fn two_sum(nums: Vec<i32>, target: i32) -> Vec<i32> {
5+
let mut map = HashMap::new();
6+
for (i, item) in nums.iter().enumerate() {
7+
if map.contains_key(item) {
8+
return vec![i as i32, map[item]];
9+
} else {
10+
let x = target - nums[i];
11+
map.insert(x, i as i32);
12+
}
1113
}
14+
unreachable!()
1215
}
13-
unreachable!()
14-
}
16+
}

Diff for: ‎solution/2400-2499/2455.Average Value of Even Numbers That Are Divisible by Three/README.md

+39-49
Original file line numberDiff line numberDiff line change
@@ -43,9 +43,9 @@
4343

4444
**方法一:模拟**
4545

46-
直接遍历 `nums`,统计可被 3 整除的偶数的和,以及可被 3 整除的偶数的个数,最后返回两者的商即可。注意,如果没有可被 3 整除的偶数,返回 0
46+
我们注意到,可被 $3$ 整除的偶数一定是 $6$ 的倍数,因此我们只需要遍历数组,统计所有 $6$ 的倍数的和与个数,然后计算平均值即可
4747

48-
时间复杂度 $O(n)$,空间复杂度 $O(1)$。其中 $n$ 为数组 `nums` 的长度
48+
时间复杂度 $O(n)$,其中 $n$ 是数组的长度。空间复杂度 $O(1)$。
4949

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

@@ -57,9 +57,9 @@
5757
class Solution:
5858
def averageValue(self, nums: List[int]) -> int:
5959
s = n = 0
60-
for v in nums:
61-
if v % 6 == 0:
62-
s += v
60+
for x in nums:
61+
if x % 6 == 0:
62+
s += x
6363
n += 1
6464
return 0 if n == 0 else s // n
6565
```
@@ -72,9 +72,9 @@ class Solution:
7272
class Solution {
7373
public int averageValue(int[] nums) {
7474
int s = 0, n = 0;
75-
for (int v : nums) {
76-
if (v % 6 == 0) {
77-
s += v;
75+
for (int x : nums) {
76+
if (x % 6 == 0) {
77+
s += x;
7878
++n;
7979
}
8080
}
@@ -90,9 +90,9 @@ class Solution {
9090
public:
9191
int averageValue(vector<int>& nums) {
9292
int s = 0, n = 0;
93-
for (int v : nums) {
94-
if (v % 6 == 0) {
95-
s += v;
93+
for (int x : nums) {
94+
if (x % 6 == 0) {
95+
s += x;
9696
++n;
9797
}
9898
}
@@ -105,10 +105,10 @@ public:
105105
106106
```go
107107
func averageValue(nums []int) int {
108-
s, n := 0, 0
109-
for _, v := range nums {
110-
if v%6 == 0 {
111-
s += v
108+
var s, n int
109+
for _, x := range nums {
110+
if x%6 == 0 {
111+
s += x
112112
n++
113113
}
114114
}
@@ -119,43 +119,34 @@ func averageValue(nums []int) int {
119119
}
120120
```
121121

122-
### **C**
123-
124-
```c
125-
int averageValue(int *nums, int numsSize) {
126-
int sum = 0;
127-
int n = 0;
128-
for (int i = 0; i < numsSize; i++) {
129-
if (nums[i] % 6 == 0) {
130-
sum += nums[i];
131-
n++;
132-
}
133-
}
134-
135-
if (n == 0) {
136-
return 0;
137-
}
138-
return sum / n;
139-
}
140-
```
141-
142122
### **TypeScript**
143123

144124
```ts
145125
function averageValue(nums: number[]): number {
146-
let sum = 0;
126+
let s = 0;
147127
let n = 0;
148-
for (const num of nums) {
149-
if (num % 6 === 0) {
150-
sum += num;
151-
n++;
128+
for (const x of nums) {
129+
if (x % 6 === 0) {
130+
s += x;
131+
++n;
152132
}
153133
}
134+
return n === 0 ? 0 : ~~(s / n);
135+
}
136+
```
137+
138+
### **C**
154139

155-
if (n === 0) {
156-
return 0;
140+
```c
141+
int averageValue(int* nums, int numsSize){
142+
int s = 0, n = 0;
143+
for (int i = 0; i < numsSize; ++i) {
144+
if (nums[i] % 6 == 0) {
145+
s += nums[i];
146+
++n;
147+
}
157148
}
158-
return Math.floor(sum / n);
149+
return n == 0 ? 0 : s / n;
159150
}
160151
```
161152
@@ -164,19 +155,18 @@ function averageValue(nums: number[]): number {
164155
```rust
165156
impl Solution {
166157
pub fn average_value(nums: Vec<i32>) -> i32 {
167-
let mut sum = 0;
158+
let mut s = 0;
168159
let mut n = 0;
169-
for num in nums.iter() {
170-
if num % 6 == 0 {
171-
sum += num;
160+
for x in nums.iter() {
161+
if x % 6 == 0 {
162+
s += x;
172163
n += 1;
173164
}
174165
}
175-
176166
if n == 0 {
177167
return 0;
178168
}
179-
sum / n
169+
s / n
180170
}
181171
}
182172
```

Diff for: ‎solution/2400-2499/2455.Average Value of Even Numbers That Are Divisible by Three/README_EN.md

+37-47
Original file line numberDiff line numberDiff line change
@@ -43,9 +43,9 @@
4343
class Solution:
4444
def averageValue(self, nums: List[int]) -> int:
4545
s = n = 0
46-
for v in nums:
47-
if v % 6 == 0:
48-
s += v
46+
for x in nums:
47+
if x % 6 == 0:
48+
s += x
4949
n += 1
5050
return 0 if n == 0 else s // n
5151
```
@@ -56,9 +56,9 @@ class Solution:
5656
class Solution {
5757
public int averageValue(int[] nums) {
5858
int s = 0, n = 0;
59-
for (int v : nums) {
60-
if (v % 6 == 0) {
61-
s += v;
59+
for (int x : nums) {
60+
if (x % 6 == 0) {
61+
s += x;
6262
++n;
6363
}
6464
}
@@ -74,9 +74,9 @@ class Solution {
7474
public:
7575
int averageValue(vector<int>& nums) {
7676
int s = 0, n = 0;
77-
for (int v : nums) {
78-
if (v % 6 == 0) {
79-
s += v;
77+
for (int x : nums) {
78+
if (x % 6 == 0) {
79+
s += x;
8080
++n;
8181
}
8282
}
@@ -89,10 +89,10 @@ public:
8989
9090
```go
9191
func averageValue(nums []int) int {
92-
s, n := 0, 0
93-
for _, v := range nums {
94-
if v%6 == 0 {
95-
s += v
92+
var s, n int
93+
for _, x := range nums {
94+
if x%6 == 0 {
95+
s += x
9696
n++
9797
}
9898
}
@@ -103,43 +103,34 @@ func averageValue(nums []int) int {
103103
}
104104
```
105105

106-
### **C**
107-
108-
```c
109-
int averageValue(int *nums, int numsSize) {
110-
int sum = 0;
111-
int n = 0;
112-
for (int i = 0; i < numsSize; i++) {
113-
if (nums[i] % 6 == 0) {
114-
sum += nums[i];
115-
n++;
116-
}
117-
}
118-
119-
if (n == 0) {
120-
return 0;
121-
}
122-
return sum / n;
123-
}
124-
```
125-
126106
### **TypeScript**
127107

128108
```ts
129109
function averageValue(nums: number[]): number {
130-
let sum = 0;
110+
let s = 0;
131111
let n = 0;
132-
for (const num of nums) {
133-
if (num % 6 === 0) {
134-
sum += num;
135-
n++;
112+
for (const x of nums) {
113+
if (x % 6 === 0) {
114+
s += x;
115+
++n;
136116
}
137117
}
118+
return n === 0 ? 0 : ~~(s / n);
119+
}
120+
```
121+
122+
### **C**
138123

139-
if (n === 0) {
140-
return 0;
124+
```c
125+
int averageValue(int* nums, int numsSize){
126+
int s = 0, n = 0;
127+
for (int i = 0; i < numsSize; ++i) {
128+
if (nums[i] % 6 == 0) {
129+
s += nums[i];
130+
++n;
131+
}
141132
}
142-
return Math.floor(sum / n);
133+
return n == 0 ? 0 : s / n;
143134
}
144135
```
145136
@@ -148,19 +139,18 @@ function averageValue(nums: number[]): number {
148139
```rust
149140
impl Solution {
150141
pub fn average_value(nums: Vec<i32>) -> i32 {
151-
let mut sum = 0;
142+
let mut s = 0;
152143
let mut n = 0;
153-
for num in nums.iter() {
154-
if num % 6 == 0 {
155-
sum += num;
144+
for x in nums.iter() {
145+
if x % 6 == 0 {
146+
s += x;
156147
n += 1;
157148
}
158149
}
159-
160150
if n == 0 {
161151
return 0;
162152
}
163-
sum / n
153+
s / n
164154
}
165155
}
166156
```
Original file line numberDiff line numberDiff line change
@@ -1,15 +1,10 @@
1-
int averageValue(int* nums, int numsSize) {
2-
int sum = 0;
3-
int n = 0;
4-
for (int i = 0; i < numsSize; i++) {
1+
int averageValue(int* nums, int numsSize){
2+
int s = 0, n = 0;
3+
for (int i = 0; i < numsSize; ++i) {
54
if (nums[i] % 6 == 0) {
6-
sum += nums[i];
7-
n++;
5+
s += nums[i];
6+
++n;
87
}
98
}
10-
11-
if (n == 0) {
12-
return 0;
13-
}
14-
return sum / n;
15-
}
9+
return n == 0 ? 0 : s / n;
10+
}

Diff for: ‎solution/2400-2499/2455.Average Value of Even Numbers That Are Divisible by Three/Solution.cpp

+3-3
Original file line numberDiff line numberDiff line change
@@ -2,9 +2,9 @@ class Solution {
22
public:
33
int averageValue(vector<int>& nums) {
44
int s = 0, n = 0;
5-
for (int v : nums) {
6-
if (v % 6 == 0) {
7-
s += v;
5+
for (int x : nums) {
6+
if (x % 6 == 0) {
7+
s += x;
88
++n;
99
}
1010
}

Diff for: ‎solution/2400-2499/2455.Average Value of Even Numbers That Are Divisible by Three/Solution.go

+4-4
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,8 @@
11
func averageValue(nums []int) int {
2-
s, n := 0, 0
3-
for _, v := range nums {
4-
if v%6 == 0 {
5-
s += v
2+
var s, n int
3+
for _, x := range nums {
4+
if x%6 == 0 {
5+
s += x
66
n++
77
}
88
}

Diff for: ‎solution/2400-2499/2455.Average Value of Even Numbers That Are Divisible by Three/Solution.java

+4-4
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,10 @@
11
class Solution {
22
public int averageValue(int[] nums) {
33
int s = 0, n = 0;
4-
for (int v : nums) {
5-
if (v % 6 == 0) {
6-
s += v;
7-
++n;
4+
for (int x : nums) {
5+
if (x % 6 == 0) {
6+
s += x;
7+
++n;
88
}
99
}
1010
return n == 0 ? 0 : s / n;
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,8 @@
11
class Solution:
22
def averageValue(self, nums: List[int]) -> int:
33
s = n = 0
4-
for v in nums:
5-
if v % 6 == 0:
6-
s += v
4+
for x in nums:
5+
if x % 6 == 0:
6+
s += x
77
n += 1
88
return 0 if n == 0 else s // n
Original file line numberDiff line numberDiff line change
@@ -1,17 +1,16 @@
11
impl Solution {
22
pub fn average_value(nums: Vec<i32>) -> i32 {
3-
let mut sum = 0;
3+
let mut s = 0;
44
let mut n = 0;
5-
for num in nums.iter() {
6-
if num % 6 == 0 {
7-
sum += num;
5+
for x in nums.iter() {
6+
if x % 6 == 0 {
7+
s += x;
88
n += 1;
99
}
1010
}
11-
1211
if n == 0 {
1312
return 0;
1413
}
15-
sum / n
14+
s / n
1615
}
17-
}
16+
}
Original file line numberDiff line numberDiff line change
@@ -1,15 +1,11 @@
11
function averageValue(nums: number[]): number {
2-
let sum = 0;
2+
let s = 0;
33
let n = 0;
4-
for (const num of nums) {
5-
if (num % 6 === 0) {
6-
sum += num;
7-
n++;
4+
for (const x of nums) {
5+
if (x % 6 === 0) {
6+
s += x;
7+
++n;
88
}
99
}
10-
11-
if (n === 0) {
12-
return 0;
13-
}
14-
return Math.floor(sum / n);
10+
return n === 0 ? 0 : ~~(s / n);
1511
}

0 commit comments

Comments
 (0)
Please sign in to comment.