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 e69e9bb

Browse files
committed
feat: add solutions to lc problem: No.2357
No.2357.Make Array Zero by Subtracting Equal Amounts
1 parent 9a9ac14 commit e69e9bb

File tree

5 files changed

+86
-24
lines changed

5 files changed

+86
-24
lines changed

‎solution/2300-2399/2357.Make Array Zero by Subtracting Equal Amounts/README.md‎

Lines changed: 31 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -126,14 +126,38 @@ func minimumOperations(nums []int) (ans int) {
126126

127127
```ts
128128
function minimumOperations(nums: number[]): number {
129-
const s = new Array(101).fill(false);
130-
s[0] = true;
131-
let ans = 0;
132-
for (const x of nums) {
133-
if (!s[x]) {
134-
s[x] = true;
135-
++ans;
129+
const set = new Set(nums);
130+
set.delete(0);
131+
return set.size;
132+
}
133+
```
134+
135+
### **Rust**
136+
137+
```rust
138+
use std::collections::HashSet;
139+
impl Solution {
140+
pub fn minimum_operations(nums: Vec<i32>) -> i32 {
141+
let mut set = nums.iter().collect::<HashSet<&i32>>();
142+
set.remove(&0);
143+
set.len() as i32
144+
}
145+
}
146+
```
147+
148+
### **C**
149+
150+
```c
151+
int minimumOperations(int *nums, int numsSize) {
152+
int vis[101] = {0};
153+
vis[0] = 1;
154+
int ans = 0;
155+
for (int i = 0; i < numsSize; i++) {
156+
if (vis[nums[i]]) {
157+
continue;
136158
}
159+
vis[nums[i]] = 1;
160+
ans++;
137161
}
138162
return ans;
139163
}

‎solution/2300-2399/2357.Make Array Zero by Subtracting Equal Amounts/README_EN.md‎

Lines changed: 31 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -111,14 +111,38 @@ func minimumOperations(nums []int) (ans int) {
111111

112112
```ts
113113
function minimumOperations(nums: number[]): number {
114-
const s = new Array(101).fill(false);
115-
s[0] = true;
116-
let ans = 0;
117-
for (const x of nums) {
118-
if (!s[x]) {
119-
s[x] = true;
120-
++ans;
114+
const set = new Set(nums);
115+
set.delete(0);
116+
return set.size;
117+
}
118+
```
119+
120+
### **Rust**
121+
122+
```rust
123+
use std::collections::HashSet;
124+
impl Solution {
125+
pub fn minimum_operations(nums: Vec<i32>) -> i32 {
126+
let mut set = nums.iter().collect::<HashSet<&i32>>();
127+
set.remove(&0);
128+
set.len() as i32
129+
}
130+
}
131+
```
132+
133+
### **C**
134+
135+
```c
136+
int minimumOperations(int *nums, int numsSize) {
137+
int vis[101] = {0};
138+
vis[0] = 1;
139+
int ans = 0;
140+
for (int i = 0; i < numsSize; i++) {
141+
if (vis[nums[i]]) {
142+
continue;
121143
}
144+
vis[nums[i]] = 1;
145+
ans++;
122146
}
123147
return ans;
124148
}
Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
1+
int minimumOperations(int *nums, int numsSize) {
2+
int vis[101] = {0};
3+
vis[0] = 1;
4+
int ans = 0;
5+
for (int i = 0; i < numsSize; i++) {
6+
if (vis[nums[i]]) {
7+
continue;
8+
}
9+
vis[nums[i]] = 1;
10+
ans++;
11+
}
12+
return ans;
13+
}
Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
use std::collections::HashSet;
2+
impl Solution {
3+
pub fn minimum_operations(nums: Vec<i32>) -> i32 {
4+
let mut set = nums.iter().collect::<HashSet<&i32>>();
5+
set.remove(&0);
6+
set.len() as i32
7+
}
8+
}
Lines changed: 3 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,5 @@
11
function minimumOperations(nums: number[]): number {
2-
const s = new Array(101).fill(false);
3-
s[0] = true;
4-
let ans = 0;
5-
for (const x of nums) {
6-
if (!s[x]) {
7-
s[x] = true;
8-
++ans;
9-
}
10-
}
11-
return ans;
2+
const set = new Set(nums);
3+
set.delete(0);
4+
return set.size;
125
}

0 commit comments

Comments
(0)

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