MCPcopy Create free account
hub / github.com/StudyRust/leetcode_rust / minimum_abs_difference

Function minimum_abs_difference

1200-minimum-absolute-difference.rs:1–14  ·  view source on GitHub ↗
(arr: Vec<i32>)

Source from the content-addressed store, hash-verified

1pub fn minimum_abs_difference(arr: Vec<i32>) -> Vec<Vec<i32>> {
2 let mut sorted_arr = arr.clone();
3 sorted_arr.sort();
4 use std::collections::HashMap;
5 let mut mmp = HashMap::new();
6 for i in 1..arr.len() {
7 mmp.entry((sorted_arr[i]-sorted_arr[i-1]).abs())
8 .or_insert(Vec::new())
9 .push(vec!(sorted_arr[i-1], sorted_arr[i]));
10 }
11 let mut mmp_vec: Vec<_> = mmp.iter().collect();
12 mmp_vec.sort_by(|a, b|a.0.cmp(b.0));
13 mmp_vec[0].1.to_vec()
14}
15
16fn main() {
17 let arr = vec![3, 8, -10, 23, 19, -4, -14, 27];

Callers

nothing calls this directly

Calls 1

pushMethod · 0.45

Tested by

no test coverage detected