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 586c35f

Browse files
feat: update solution to lc problem: No.3394 (doocs#4335)
1 parent ba060d5 commit 586c35f

File tree

4 files changed

+52
-6
lines changed

4 files changed

+52
-6
lines changed

‎solution/3300-3399/3396.Minimum Number of Operations to Make Elements in Array Distinct/README.md‎

Lines changed: 19 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -122,10 +122,9 @@ class Solution {
122122
public int minimumOperations(int[] nums) {
123123
Set<Integer> s = new HashSet<>();
124124
for (int i = nums.length - 1; i >= 0; --i) {
125-
if (s.contains(nums[i])) {
125+
if (!s.add(nums[i])) {
126126
return i / 3 + 1;
127127
}
128-
s.add(nums[i]);
129128
}
130129
return 0;
131130
}
@@ -180,6 +179,24 @@ function minimumOperations(nums: number[]): number {
180179
}
181180
```
182181

182+
#### Rust
183+
184+
```rust
185+
use std::collections::HashSet;
186+
187+
impl Solution {
188+
pub fn minimum_operations(nums: Vec<i32>) -> i32 {
189+
let mut s = HashSet::new();
190+
for i in (0..nums.len()).rev() {
191+
if !s.insert(nums[i]) {
192+
return (i / 3) as i32 + 1;
193+
}
194+
}
195+
0
196+
}
197+
}
198+
```
199+
183200
<!-- tabs:end -->
184201

185202
<!-- solution:end -->

‎solution/3300-3399/3396.Minimum Number of Operations to Make Elements in Array Distinct/README_EN.md‎

Lines changed: 19 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -118,10 +118,9 @@ class Solution {
118118
public int minimumOperations(int[] nums) {
119119
Set<Integer> s = new HashSet<>();
120120
for (int i = nums.length - 1; i >= 0; --i) {
121-
if (s.contains(nums[i])) {
121+
if (!s.add(nums[i])) {
122122
return i / 3 + 1;
123123
}
124-
s.add(nums[i]);
125124
}
126125
return 0;
127126
}
@@ -176,6 +175,24 @@ function minimumOperations(nums: number[]): number {
176175
}
177176
```
178177

178+
#### Rust
179+
180+
```rust
181+
use std::collections::HashSet;
182+
183+
impl Solution {
184+
pub fn minimum_operations(nums: Vec<i32>) -> i32 {
185+
let mut s = HashSet::new();
186+
for i in (0..nums.len()).rev() {
187+
if !s.insert(nums[i]) {
188+
return (i / 3) as i32 + 1;
189+
}
190+
}
191+
0
192+
}
193+
}
194+
```
195+
179196
<!-- tabs:end -->
180197

181198
<!-- solution:end -->

‎solution/3300-3399/3396.Minimum Number of Operations to Make Elements in Array Distinct/Solution.java‎

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,10 +2,9 @@ class Solution {
22
public int minimumOperations(int[] nums) {
33
Set<Integer> s = new HashSet<>();
44
for (int i = nums.length - 1; i >= 0; --i) {
5-
if (s.contains(nums[i])) {
5+
if (!s.add(nums[i])) {
66
return i / 3 + 1;
77
}
8-
s.add(nums[i]);
98
}
109
return 0;
1110
}
Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
1+
use std::collections::HashSet;
2+
3+
impl Solution {
4+
pub fn minimum_operations(nums: Vec<i32>) -> i32 {
5+
let mut s = HashSet::new();
6+
for i in (0..nums.len()).rev() {
7+
if !s.insert(nums[i]) {
8+
return (i / 3) as i32 + 1;
9+
}
10+
}
11+
0
12+
}
13+
}

0 commit comments

Comments
(0)

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