电子商务的门户网站,公司装修完就让搬进去,石家庄网站模板建站,广州奕联网站开发2023-09-26每日一题
一、题目编号
2582. 递枕头二、题目链接
点击跳转到题目位置
三、题目描述
n 个人站成一排#xff0c;按从 1 到 n 编号。
最初#xff0c;排在队首的第一个人拿着一个枕头。每秒钟#xff0c;拿着枕头的人会将枕头传递给队伍中的下一个人。一旦枕…2023-09-26每日一题
一、题目编号
2582. 递枕头二、题目链接
点击跳转到题目位置
三、题目描述
n 个人站成一排按从 1 到 n 编号。
最初排在队首的第一个人拿着一个枕头。每秒钟拿着枕头的人会将枕头传递给队伍中的下一个人。一旦枕头到达队首或队尾传递方向就会改变队伍会继续沿相反方向传递枕头。
例如当枕头到达第 n 个人时TA 会将枕头传递给第 n - 1 个人然后传递给第 n - 2 个人依此类推。 给你两个正整数 n 和 time 返回 time 秒后拿着枕头的人的编号。 示例 1
示例 2
四、解题代码
class Solution {
public:int passThePillow(int n, int time) {int flag 0;int t n - 1;while(time 0){if(time t){if(flag 0){return 1 time; } else{return (n - time);}}time - (t);flag (flag 1) % 2;}return 0;}
};五、解题思路
(1) 用flag来表示是过去还是回来。 (2) 一次是n - 1的长度。 (3) time的次数如果在n - 1长度内就可以返回结果了。如果是过去那么编号就是time1如果回来编号就是n - time每次减去n - 1步。