Skip to content

Commit 1bc59b7

Browse files
committed
Create 1887-reduction-operations-to-make-the-array-elements-equal.rs
1 parent 4556320 commit 1bc59b7

File tree

1 file changed

+21
-0
lines changed

1 file changed

+21
-0
lines changed
Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,21 @@
1+
pub fn reduction_operations(nums: Vec<i32>) -> i32 {
2+
use std::collections::HashMap;
3+
let mut mmp = HashMap::new();
4+
for num in nums {
5+
mmp.entry(num).and_modify(|e|*e += 1).or_insert(1);
6+
}
7+
let mut mmp_vec: Vec<_> = mmp.iter().collect();
8+
mmp_vec.sort_by(|a, b|a.0.cmp(&b.0));
9+
// println!("{:?}", mmp_vec);
10+
let mut ret = 0;
11+
for (i, r) in mmp_vec.iter().enumerate() {
12+
ret += i * r.1
13+
}
14+
ret as i32
15+
}
16+
17+
fn main() {
18+
println!("{:?}", reduction_operations(vec![5,1,3]));
19+
println!("{:?}", reduction_operations(vec![1,1,1]));
20+
println!("{:?}", reduction_operations(vec![1,1,2,2,3]));
21+
}

0 commit comments

Comments
 (0)