跳到主要内容

1282.用户分组

链接:1282.用户分组
难度:Medium
标签:数组、哈希表
简介:返回一个组列表,使每个人 i 都在一个大小为 groupSizes[i] 的组中。

题解 1 - rust

  • 编辑时间:2022-08-12
  • 执行用时:4ms
  • 内存消耗:2.3MB
  • 编程语言:rust
  • 解法介绍:map 重组。
use std::collections::*;
impl Solution {
pub fn group_the_people(group_sizes: Vec<i32>) -> Vec<Vec<i32>> {
let mut ans = Vec::new();
let mut map = HashMap::<i32, Vec<Vec<i32>>>::new();
for i in 0..group_sizes.len() {
let k = group_sizes[i];
let list = map.entry(k).or_insert(vec![vec![]]);
let item = list.last_mut().unwrap();
item.push(i as i32);
if item.len() == k as usize {
ans.push(item.clone());
list.push(Vec::new());
}
}
ans
}
}