0
点赞
收藏
分享

微信扫一扫

【从零开始的LeetCode-算法】2582. 递枕头

i奇异 2024-11-06 阅读 9

n 个人站成一排,按从 1 到 n 编号。最初,排在队首的第一个人拿着一个枕头。每秒钟,拿着枕头的人会将枕头传递给队伍中的下一个人。一旦枕头到达队首或队尾,传递方向就会改变,队伍会继续沿相反方向传递枕头。

  • 例如,当枕头到达第 n 个人时,TA 会将枕头传递给第 n - 1 个人,然后传递给第 n - 2 个人,依此类推。

给你两个正整数 n 和 time ,返回 time 秒后拿着枕头的人的编号。

示例 1:

示例 2:

提示:

  • 2 <= n <= 1000
  • 1 <= 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;
    }
}

 

 

举报

相关推荐

0 条评论