Skip to content

Commit fd083f0

Browse files
committed
Create 347-top-k-frequent-elements.rs
1 parent 7954260 commit fd083f0

File tree

1 file changed

+18
-0
lines changed

1 file changed

+18
-0
lines changed

347-top-k-frequent-elements.rs

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

0 commit comments

Comments
 (0)