Re: [閒聊] 每日leetcode已回收

看板Marginalman作者 (caster )時間1年前 (2024/07/06 10:39), 編輯推噓4(404)
留言8則, 3人參與, 1年前最新討論串453/1554 (看更多)
※ 引述《smart0eddie (smart0eddie)》之銘言: : 2024-07-06 : 2582. Pass the Pillow : There are n people standing in a line labeled from 1 to n. The first person : in the line is holding a pillow initially. Every second, the person holding : the pillow passes it to the next person standing in the line. Once the pillow : reaches the end of the line, the direction changes, and people continue : passing the pillow in the opposite direction. : For example, once the pillow reaches the nth person they pass it to the n : - 1th person, then to the n - 2th person and so on. : Given the two positive integers n and time, return the index of the person : holding the pillow after time seconds. : 100%的是用暴力解 - - : 這其實是數學問題 : 走一趟要 n-1 秒 : 走到底折返 : 所以先 time / (n-1) 看可以走完奇數趟還偶數趟 : 奇數反走 偶數正走 : 然後 time % (n-1) 看要多走幾格 : int passThePillow(int n, int time) { : int dir = (time / (n - 1)) % 2; : int pos = time % (n - 1); : if (dir) return n - pos; : else return pos + 1; : } 思路: 第一個念頭就直接模擬 最大值才1000 應該不會TLE 正常解的思路差不多 這題就數學問題 Python Code: class Solution: def passThePillow(self, n: int, time: int) -> int: if (time // (n-1)) % 2 == 0: return time%(n-1)+1 else: return n - (time%(n-1)) -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 123.194.160.111 (臺灣) ※ 文章網址: https://www.ptt.cc/bbs/Marginalman/M.1720233580.A.DFE.html

07/06 10:40, 1年前 , 1F
大師 球內推
07/06 10:40, 1F

07/06 10:42, 1年前 , 2F
別倦了,這題好難
07/06 10:42, 2F

07/06 10:43, 1年前 , 3F
ez就直接硬上 暴力解只要3分鐘就能搞定
07/06 10:43, 3F

07/06 10:43, 1年前 , 4F
我無業遊民
07/06 10:43, 4F

07/06 10:44, 1年前 , 5F
話說二跑要共享活蝦ㄇ 我玩得差不多了
07/06 10:44, 5F

07/06 10:44, 1年前 , 6F
我要
07/06 10:44, 6F

07/06 10:51, 1年前 , 7F
你都破完惹
07/06 10:51, 7F

07/06 10:54, 1年前 , 8F
我要偷玩你的小黃油
07/06 10:54, 8F
文章代碼(AID): #1cYAvit- (Marginalman)
討論串 (同標題文章)
文章代碼(AID): #1cYAvit- (Marginalman)