有 n 位使用者參加活動,他們的 id 從 0 到 n - 1,每位使用者都 恰好 屬於某一使用者組。給你乙個長度為 n 的陣列 groupsizes,其中包含每位使用者所處的使用者組的大小,請你返回使用者分組情況(存在的使用者組以及每個組中使用者的 id)。你可以任何順序返回解決方案,id 的順序也不受限制。此外,題目給出的資料保證至少存在一種解決方案。
輸入: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
]]。
根據題意,每個分組的人數就是固定的,使用map維護當前組的人對應放到哪個位置,如果組在map中不存在或者組員滿了,就新加乙個。map存放某個元素屬於res的哪個陣列
class solution );
}else if(res[map[groupsizes[i]]].size()> groupthepeople(vector& groupsizes) );
else
}res.push_back(temp);}}
return res;
}};
給定乙個鍊錶,判斷鍊錶中是否有環。為了表示給定鍊錶中的環,我們使用整數 pos 來表示鍊錶尾連線到鍊錶中的位置(索引從 0 開始)。 如果 pos 是 -1,則在該鍊錶中沒有環。
輸入:head =[3
,2,0
,-4]
, pos =
1輸出:true
解釋:鍊錶中有乙個環,其尾部連線到第二個節點。
class solution
return false;
}};
給定乙個鍊錶,返回鍊錶開始入環的第乙個節點。 如果鍊錶無環,則返回 null。為了表示給定鍊錶中的環,我們使用整數 pos 來表示鍊錶尾連線到鍊錶中的位置(索引從 0 開始)。 如果 pos 是 -1,則在該鍊錶中沒環
**說明:**不允許修改給定的鍊錶。
class solution
return fast;}}
return null;
}};
貪心演算法刷題
牛牛有乙個陣列array,牛牛可以每次選擇乙個連續的區間,讓區間的數都加1,他想知道把這個陣列變為嚴格單調遞增,最少需要操作多少次?嚴格遞增,我們應該讓某個數字後面的乙個比他小的連續區間都進行加1操作,然後遍歷整個陣列 除最後乙個數字 其實我們不需要真正的對陣列進行加1操作,只需要求出ai與ai 1...
演算法刷題ING
給定字串j代表石頭中寶石的型別,和字串s代表你擁有的石頭。s中每個字元代表了一種你擁有的石頭的型別,你想知道你擁有的石頭中有多少是寶石。j中的字母不重複,j和s中的所有字元都是字母。字母區分大小寫,因此 a 和 a 是不同型別的石頭。示例 輸入 j aa s aaabbbb 輸出 3class so...
LeetCode刷題指南 貪心演算法
45.跳躍遊戲 ii class solution maxl nextmax return 0 134.加油站 第一種解法 比較容易理解,但是效率比較低 class solution return rest 0 1 start 621.任務排程器 給定乙個用字元陣列表示的 cpu 需要執行的任務列表...