Re: [閒聊] 每日leetcode

看板Marginalman作者 (神楽めあ的錢包)時間1年前 (2024/06/06 20:44), 編輯推噓3(300)
留言3則, 3人參與, 1年前最新討論串325/1549 (看更多)
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]-- if rec[val+i] < 0 { return false } } } } return true } -- https://i.imgur.com/r9FBAGO.gif
-- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 42.73.133.45 (臺灣) ※ 文章網址: https://www.ptt.cc/bbs/Marginalman/M.1717677867.A.3DE.html

06/06 20:52, 1年前 , 1F
大師
06/06 20:52, 1F

06/06 20:53, 1年前 , 2F
別捲了
06/06 20:53, 2F

06/06 20:57, 1年前 , 3F
別捲了
06/06 20:57, 3F
文章代碼(AID): #1cOQyhFU (Marginalman)
討論串 (同標題文章)
文章代碼(AID): #1cOQyhFU (Marginalman)