貪心演算法刷題ing

2021-10-08 10:42:27 字數 1431 閱讀 3514

有 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 需要執行的任務列表...