網上摘的補充知識:c中malloc函式
malloc的全稱是memory allocation,中文叫動態記憶體分配,當無法知道記憶體具體位置的時候,想要繫結真正的記憶體空間,就需要用到動態的分配記憶體。
malloc 向系統申請分配指定size個位元組的記憶體空間(連續的一塊記憶體)。返回型別是 void* 型別。void* 表示未確定型別的指標。
void 可以指向任何型別的資料,更明確的說是指申請記憶體空間時還不知道使用者是用這段空間來儲存什麼型別的資料,c,c++規定,void 型別可以強制轉換為任何其它型別的指標。
allocates a block of size bytes of memory, returning a pointer to the beginning of the block.
如果分配成功則返回指向被分配記憶體的指標(此儲存區中的初始值不確定),否則返回空指標null。當記憶體不再使用時,應使用free()函式將記憶體塊釋放。函式返回的指標一定要適當對齊,使其可以用於任何資料物件。
比如想分配100個int型別的空間:int* p = (int *) malloc ( sizeof(int) * 100 ); //分配可以放得下100個整數的記憶體空間。
以下是借鑑**
```cpp
int*
*groupthepeople
(int
* groupsizes,
int groupsizessize,
int* returnsize,
int*
* returncolumnsizes)
;int tmpnum[
500]=;
int i;
int k;
int n;
*returnsize =0;
if(groupsizessize ==0)
for(i =
0; i < groupsizessize; i++
) tmp[k]
[tmpnum[k]
]= i;
tmpnum[k]++;
} ret =
malloc
(sizeof
(int*)
* groupsizessize);(
*returncolumnsizes)
=malloc
(sizeof
(int
)* groupsizessize)
;for
(i =
0; i <
500; i++)(
*returnsize)++;
}}return ret;
}
這整個流程反覆進行陣列套用,指標化用,對我這個小白起到了不小的作用。
略加調整,交了一下(整體把控需要複習)
(電腦版看著舒服哈哈哈)
另外的總結:
限制條件保護程式
null限制
建立輔助陣列-num,-column等
陣列巢狀
整個設計太巧妙了woc
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 的順...