Re: [閒聊] 每日leetcode

作者: sustainer123 (caster)   2024-07-06 10:39:37
※ 引述《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))
作者: SecondRun (雨夜琴聲)   2024-07-06 10:40:00
大師 球內推
作者: JIWP (JIWP)   2024-07-06 10:42:00
別倦了,這題好難
作者: sustainer123 (caster)   2024-07-06 10:43:00
ez就直接硬上 暴力解只要3分鐘就能搞定我無業遊民話說二跑要共享活蝦ㄇ 我玩得差不多了
作者: JIWP (JIWP)   2024-07-06 10:44:00
我要
作者: sustainer123 (caster)   2024-07-06 10:51:00
你都破完惹
作者: JIWP (JIWP)   2024-07-06 10:54:00
我要偷玩你的小黃油

Links booklink

Contact Us: admin [ a t ] ucptt.com