1282. Group the People Given the Group Size They Belong To
Văn bản bài toán được dịch từ tiếng Nga theo ngôn ngữ giao diện. Mã không thay đổi.
Есть n человек, которые разделены на неизвестное количество групп. Каждый человек имеет уникальный ID от 0 до n - 1.
Вам дан số nguyên mảng groupSizes, где groupSizes[i] - это размер группы, в которой находится человек i. НаVí dụ, если groupSizes[1] = 3, то человек 1 должен быть в группе размером 3.
return список групп таким образом, чтобы каждый человек i находился в группе размером groupSizes[i].
C# lời giải
đã khớp/gốcpublic class Solution {
public IList<IList<int>> GroupThePeople(int[] groupSizes) {
var ans = new List<IList<int>>();
var szToGroup = new Dictionary<int, List<int>>();
for (int i = 0; i < groupSizes.Length; i++) {
int size = groupSizes[i];
if (!szToGroup.ContainsKey(size)) {
szToGroup[size] = new List<int>();
}
szToGroup[size].Add(i);
if (szToGroup[size].Count == size) {
ans.Add(new List<int>(szToGroup[size]));
szToGroup[size].Clear();
}
}
return ans;
}
}
C++ lời giải
bản nháp tự động, xem lại trước khi gửi#include <bits/stdc++.h>
using namespace std;
// Auto-generated C++ draft from the C# solution. Review containers, LINQ and helper types before submit.
class Solution {
public:
public IList<vector<int>> GroupThePeople(vector<int>& groupSizes) {
var ans = new List<vector<int>>();
var szToGroup = new unordered_map<int, List<int>>();
for (int i = 0; i < groupSizes.size(); i++) {
int size = groupSizes[i];
if (!szToGroup.count(size)) {
szToGroup[size] = new List<int>();
}
szToGroup[size].push_back(i);
if (szToGroup[size].size() == size) {
ans.push_back(new List<int>(szToGroup[size]));
szToGroup[size].Clear();
}
}
return ans;
}
}
Java lời giải
bản nháp tự động, xem lại trước khi gửiimport java.util.*;
import java.math.*;
// Auto-generated Java draft from the C# solution. Review API differences before LeetCode submit.
public class Solution {
public List<IList<int>> GroupThePeople(int[] groupSizes) {
var ans = new List<List<int>>();
var szToGroup = new HashMap<int, List<int>>();
for (int i = 0; i < groupSizes.length; i++) {
int size = groupSizes[i];
if (!szToGroup.containsKey(size)) {
szToGroup[size] = new List<int>();
}
szToGroup[size].add(i);
if (szToGroup[size].size() == size) {
ans.add(new List<int>(szToGroup[size]));
szToGroup[size].Clear();
}
}
return ans;
}
}
JavaScript lời giải
đã khớp/gốcvar groupThePeople = function(groupSizes) {
let ans = [];
let szToGroup = new Map();
for (let i = 0; i < groupSizes.length; i++) {
let size = groupSizes[i];
if (!szToGroup.has(size)) {
szToGroup.set(size, []);
}
szToGroup.get(size).push(i);
if (szToGroup.get(size).length === size) {
ans.push(szToGroup.get(size));
szToGroup.set(size, []);
}
}
return ans;
};
Vacancies for this task
việc làm đang hoạt động with overlapping task tags are đã hiển thị.
Chưa có việc làm đang hoạt động.