Skip to content

Commit 28a89ba

Browse files
authored
feat: add Rust solution for lc No.1200 (#4995)
1 parent 0445042 commit 28a89ba

File tree

3 files changed

+70
-0
lines changed

3 files changed

+70
-0
lines changed

solution/1200-1299/1200.Minimum Absolute Difference/README.md

Lines changed: 25 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -175,6 +175,31 @@ function minimumAbsDifference(arr: number[]): number[][] {
175175
}
176176
```
177177

178+
#### Rust
179+
180+
```rust
181+
impl Solution {
182+
pub fn minimum_abs_difference(mut arr: Vec<i32>) -> Vec<Vec<i32>> {
183+
arr.sort();
184+
let n = arr.len();
185+
186+
let mut mi = i32::MAX;
187+
for i in 1..n {
188+
mi = mi.min(arr[i] - arr[i - 1]);
189+
}
190+
191+
let mut ans = Vec::new();
192+
for i in 1..n {
193+
if arr[i] - arr[i - 1] == mi {
194+
ans.push(vec![arr[i - 1], arr[i]]);
195+
}
196+
}
197+
198+
ans
199+
}
200+
}
201+
```
202+
178203
<!-- tabs:end -->
179204

180205
<!-- solution:end -->

solution/1200-1299/1200.Minimum Absolute Difference/README_EN.md

Lines changed: 25 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -171,6 +171,31 @@ function minimumAbsDifference(arr: number[]): number[][] {
171171
}
172172
```
173173

174+
#### Rust
175+
176+
```rust
177+
impl Solution {
178+
pub fn minimum_abs_difference(mut arr: Vec<i32>) -> Vec<Vec<i32>> {
179+
arr.sort();
180+
let n = arr.len();
181+
182+
let mut mi = i32::MAX;
183+
for i in 1..n {
184+
mi = mi.min(arr[i] - arr[i - 1]);
185+
}
186+
187+
let mut ans = Vec::new();
188+
for i in 1..n {
189+
if arr[i] - arr[i - 1] == mi {
190+
ans.push(vec![arr[i - 1], arr[i]]);
191+
}
192+
}
193+
194+
ans
195+
}
196+
}
197+
```
198+
174199
<!-- tabs:end -->
175200

176201
<!-- solution:end -->
Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,20 @@
1+
impl Solution {
2+
pub fn minimum_abs_difference(mut arr: Vec<i32>) -> Vec<Vec<i32>> {
3+
arr.sort();
4+
let n = arr.len();
5+
6+
let mut mi = i32::MAX;
7+
for i in 1..n {
8+
mi = mi.min(arr[i] - arr[i - 1]);
9+
}
10+
11+
let mut ans = Vec::new();
12+
for i in 1..n {
13+
if arr[i] - arr[i - 1] == mi {
14+
ans.push(vec![arr[i - 1], arr[i]]);
15+
}
16+
}
17+
18+
ans
19+
}
20+
}

0 commit comments

Comments
 (0)