当前位置: 首页 > news >正文

2682. 找出转圈游戏输家

题目描述:

n 个朋友在玩游戏。这些朋友坐成一个圈,按 顺时针方向 从 1 到 n 编号。从第 i 个朋友的位置开始顺时针移动 1 步会到达第 (i + 1) 个朋友的位置(1 <= i < n),而从第 n 个朋友的位置开始顺时针移动 1 步会回到第 1 个朋友的位置。
游戏规则如下:
第 1 个朋友接球。
接着,第 1 个朋友将球传给距离他顺时针方向 k 步的朋友。
然后,接球的朋友应该把球传给距离他顺时针方向 2 * k 步的朋友。
接着,接球的朋友应该把球传给距离他顺时针方向 3 * k 步的朋友,以此类推。
换句话说,在第 i 轮中持有球的那位朋友需要将球传递给距离他顺时针方向 i * k 步的朋友。
当某个朋友第 2 次接到球时,游戏结束。
在整场游戏中没有接到过球的朋友是 输家
给你参与游戏的朋友数量 n 和一个整数 k ,请按升序排列返回包含所有输家编号的数组 answer 作为答案。

示例:

来源:力扣(LeetCode)
来源:力扣(LeetCode)

解题思路:

利用数组存储接到球的次数,当有朋友接到2次的时候统计接到次数为0的下标进行输出。

相关代码:

class Solution {public int[] circularGameLosers(int n, int k) {int i=0,j=1;int[] accept=new int[n];accept[0]=1;while(accept[i]<2) {i=(i+j*k)%n;accept[i]++;j++;}int[] result=new int[n-j+1];j=0;for(i=0;i<accept.length;i++) {if(accept[i]==0) {result[j]=i+1;j++;}}return result;}
}

代码效率:

来源:力扣(LeetCode)
https://leetcode.cn/problems/find-the-losers-of-the-circular-game/submissions/456795103/

http://www.lryc.cn/news/129182.html

相关文章:

  • RESTAPI简介与DRF使用
  • 深度学习笔记(kaggle课程《Intro to Deep Learning》)
  • windows下载任意版本php
  • Linux命令
  • TDD(测试驱动开发)?
  • C/C++
  • CCF C³ 走进百度:大模型与可持续生态发展
  • Vue使用html2canvas将DOM节点生成对应的PDF
  • 专访阿里云席明贤,视频云如何运用大模型与小模型来破茧升级2.0
  • Vue 2的计算属性与侦听器
  • JavaScript基础:学习JavaScript语言的基本语法和常用操作,了解网页交互的基本原理
  • 网络每日一练
  • asp.net core读取request内容
  • 笔记:移植xenomai到nuc972(2)
  • 记忆正则表达式的基本元件
  • 低代码是什么?解决哪些问题?什么业务场景适合用低码开发?
  • SOA架构
  • “深入探索JVM内部机制:解密Java虚拟机“
  • PostgreSQL空值的判断
  • 使用phpunit进行单元测试
  • MongoDB 简介
  • [LitCTF 2023]Follow me and hack me
  • Java从入门到高级的全面指南
  • linux 命令- systemctl
  • 自动驾驶,一次道阻且长的远征|数据猿直播干货分享
  • 大数据培训前景怎么样?企业需求量大吗
  • redis — 基于Spring Boot实现redis延迟队列
  • 【日常积累】Linux之init系统学习
  • Python功能制作之3D方块
  • 【0基础入门Python笔记】二、python 之逻辑运算和制流程语句