有 n 位使用者參加活動,他們的 id 從 0 到 n - 1,每位使用者都 恰好 屬於某一使用者組。給你乙個長度為 n 的陣列 groupsizes,其中包含每位使用者所處的使用者組的大小,請你返回使用者分組情況(存在的使用者組以及每個組中使用者的 id)。
你可以任何順序返回解決方案,id 的順序也不受限制。此外,題目給出的資料保證至少存在一種解決方案。
示例 1:
輸入:groupsizes = [3,3,3,3,3,1,3]
輸出:[[5],[0,1,2],[3,4,6]]
解釋:
其他可能的解決方案有 [[2,1,6],[5],[0,4,3]] 和 [[5],[0,6,2],[4,3,1]]。
示例 2:
輸入:groupsizes = [2,1,3,3,3,2]
輸出:[[1],[0,5],[2,3,4]]
groupsizes.length == n
1 <= n <= 500
1 <= groupsizes[i] <= n
1pick 1:class
solution 910
for(auto group:groups)20}
21}22else
23res.push_back(group.second);24}
25}26return
res;27}
28 };
c++ 清除vector的三種方法:
1 vector vecint;pick 2:2for (int i=0;i<50;i++)36
7 cout<
capacity:
"/j=64
8 cout<
size:
"/i=50
9 cout<
1011
//1、使用clear ,清空元素,不**空間
12vecint.clear();
13 cout<
capacity:
"/j=64
14 cout<
size:
"/i=50
15 cout<
16//
2、erase迴圈刪除,不**空間
17for (int i=0;i<50;i++)
1821
22for ( vector ::iterator iter=vecint.begin();iter!=vecint.end();)
2326 cout<
capacity:
"/j=64
27 cout<
size:
"/i=50
28 cout<
2930
//3、使用swap,清除元素並**記憶體
31 vector ().swap(vecint); //
清除容器並最小化它的容量,
32//
vecint.swap(vector()) ; 另一種寫法
33 cout<
capacity:
"/j=034 cout<
size:
"/i=035 cout<
36 }
可迭代容器 中auto 與iterator的不同使用方式;
1 #include2 #include3 #include4輸出結果:using
namespace
std;56
intmain()
11//
使用auto遍歷
12for
(auto m:res)
15//
使用迭代器遍歷,迭代器相當於指標,*iter去對應迭代器的內容,
16for(unordered_map>::iterator iter=res.begin();iter!=res.end();iter++)
19 vectorans;
20for(int i=0;i<5;i++)
2324
for(auto m:ans)
2528 cout<
2930
for(vector::iterator iter=ans.begin();iter!=ans.end();iter++)
33 cout<
34 }
Leetcode1282 使用者分組
有 n 位使用者參加活動,他們的 id 從 0 到 n 1,每位使用者都 恰好 屬於某一使用者組。給你乙個長度為 n 的陣列 groupsizes,其中包含每位使用者所處的使用者組的大小,請你返回使用者分組情況 存在的使用者組以及每個組中使用者的 id 你可以任何順序返回解決方案,id 的順序也不受...
LeetCode題目 1282 使用者分組
建立map集合,用於存放分組的list集合 迴圈開始,當分組的索引在map集合中如果沒有,就建立乙個放進去 如果在map集合有,則將當前的值放入map對應的索引的list集合中 class solution 建立list集合來存相同索引的值 list list map.get groupsizes ...
leetcode 1282 使用者分組
題目描述 有 n 位使用者參加活動,他們的 id 從 0 到 n 1,每位使用者都 恰好 屬於某一使用者組。給你乙個長度為 n 的陣列 groupsizes,其中包含每位使用者所處的使用者組的大小,請你返回使用者分組情況 存在的使用者組以及每個組中使用者的 id 可以任何順序返回解決方案,id 的順...