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