Re: [閒聊] 每日leetcode

作者: JIWP (JIWP)   2024-06-06 20:44:24
846. Hand of Straights
有一組整數array hand和一個整數groupsize
請問hand裡的元素是否能分成數個groups
其中每個group大小為groupsize
且group中的每個數字是連續的
思路:
先看hand的長度是不是groupsize的倍數
不是的話就可以回傳false
用hash table紀錄hand每個數字出現的次數
並將hand由小到大排列
接著用兩個迴圈,第一個去遍歷hand
第二個去看hand[i]開始有沒有groupsize個連續的整數
有的話從hash table扣掉一次,沒有就回傳fasle
這樣就可以找出答案了
也可以用heap
golang code:
func isNStraightHand(hand []int, groupSize int) bool {
n := len(hand)
if n%groupSize != 0 {
return false
}
slices.Sort(hand)
rec := make(map[int]int)
for _, val := range hand {
rec[val]++
}
for _, val := range hand {
if rec[val] > 0 {
for i := 0; i < groupSize; i++ {
rec[val+i]
作者: sustainer123 (caster)   2024-06-06 20:52:00
大師
作者: DJYOSHITAKA (Evans)   2024-06-06 20:53:00
別捲了
作者: SecondRun (雨夜琴聲)   2024-06-06 20:57:00
別捲了

Links booklink

Contact Us: admin [ a t ] ucptt.com