n 个人站成一排,按从 1 到 n 编号。最初,排在队首的第一个人拿着一个枕头。每秒钟,拿着枕头的人会将枕头传递给队伍中的下一个人。一旦枕头到达队首或队尾,传递方向就会改变,队伍会继续沿相反方向传递枕头。
- 例如,当枕头到达第
n个人时,TA 会将枕头传递给第n - 1个人,然后传递给第n - 2个人,依此类推。
给你两个正整数 n 和 time ,返回 time 秒后拿着枕头的人的编号。
示例 1:
示例 2:
提示:
2 <= n <= 10001 <= time <= 1000
注意:本题与 3178.找出 K 秒后拿着球的孩子 一致。
我的解答:
class Solution {
public int passThePillow(int n, int time) {
time %= (n - 1) * 2;
return time >= n ? n * 2 - time - 1 : time + 1;
}
}











