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

河北省住房和城乡建设厅的网站付银行的网站建设费的会计科目

河北省住房和城乡建设厅的网站,付银行的网站建设费的会计科目,wordpress 表单管理,品牌建设的基本原则【LetMeFly】2682.找出转圈游戏输家 力扣题目链接:https://leetcode.cn/problems/find-the-losers-of-the-circular-game/ n 个朋友在玩游戏。这些朋友坐成一个圈,按 顺时针方向 从 1 到 n 编号。从第 i 个朋友的位置开始顺时针移动 1 步会到达第 (i …

【LetMeFly】2682.找出转圈游戏输家

力扣题目链接:https://leetcode.cn/problems/find-the-losers-of-the-circular-game/

n 个朋友在玩游戏。这些朋友坐成一个圈,按 顺时针方向1n 编号。从第 i 个朋友的位置开始顺时针移动 1 步会到达第 (i + 1) 个朋友的位置(1 <= i < n),而从第 n 个朋友的位置开始顺时针移动 1 步会回到第 1 个朋友的位置。

游戏规则如下:

1 个朋友接球。

  • 接着,第 1 个朋友将球传给距离他顺时针方向 k 步的朋友。
  • 然后,接球的朋友应该把球传给距离他顺时针方向 2 * k 步的朋友。
  • 接着,接球的朋友应该把球传给距离他顺时针方向 3 * k 步的朋友,以此类推。

换句话说,在第 i 轮中持有球的那位朋友需要将球传递给距离他顺时针方向 i * k 步的朋友。

当某个朋友第 2 次接到球时,游戏结束。

在整场游戏中没有接到过球的朋友是 输家

给你参与游戏的朋友数量 n 和一个整数 k ,请按升序排列返回包含所有输家编号的数组 answer 作为答案。

 

示例 1:

输入:n = 5, k = 2
输出:[4,5]
解释:以下为游戏进行情况:
1)第 1 个朋友接球,第 1 个朋友将球传给距离他顺时针方向 2 步的玩家 —— 第 3 个朋友。
2)第 3 个朋友将球传给距离他顺时针方向 4 步的玩家 —— 第 2 个朋友。
3)第 2 个朋友将球传给距离他顺时针方向 6 步的玩家 —— 第 3 个朋友。
4)第 3 个朋友接到两次球,游戏结束。

示例 2:

输入:n = 4, k = 4
输出:[2,3,4]
解释:以下为游戏进行情况:
1)第 1 个朋友接球,第 1 个朋友将球传给距离他顺时针方向 4 步的玩家 —— 第 1 个朋友。
2)第 1 个朋友接到两次球,游戏结束。

 

提示:

  • 1 <= k <= n <= 50

方法一:模拟

开辟一个长度为 n n n的布尔类型的数组 v i s i t e d visited visited,初始值全部为 0 0 0,用来记录哪个小朋友拿到过球。

使用两个变量 w h o who who t h th th分别记录当前球在谁的手里、这是第几次传球。

v i s i t e d [ w h o ] visited[who] visited[who] f a l s e false false时,不断更新 v i s i t e d visited visited w h o who who t h th th

最终,遍历一遍 v i s i t e d visited visited数组,将没接到过球的娃子添加到答案数组中即可。

  • 时间复杂度 O ( n ) O(n) O(n),每个人最多接到球 1 1 1次(第二次还没接就退出循环了)
  • 空间复杂度 O ( n ) O(n) O(n)

AC代码

C++

class Solution {
public:vector<int> circularGameLosers(int n, int k) {vector<bool> visited(n);int who = 0, th = 0;while (!visited[who]) {visited[who] = true;who = (who + ++th * k) % n;}vector<int> ans;for (int i = 0; i < n; i++) {if (!visited[i]) {ans.push_back(i + 1);}}return ans;}
};

Python

# from typing import Listclass Solution:def circularGameLosers(self, n: int, k: int) -> List[int]:visited = [False] * nwho, th = 0, 0while not visited[who]:visited[who] = Trueth += 1who = (who + th * k) % nans = []for i in range(n):if not visited[i]:ans.append(i + 1)return ans

同步发文于CSDN,原创不易,转载经作者同意后请附上原文链接哦~
Tisfy:https://letmefly.blog.csdn.net/article/details/132311270

http://www.yayakq.cn/news/774751/

相关文章:

  • cms织梦织梦修改网站源码wordpress常用标签
  • 企业网站建立策划书acm手表网站
  • 怎么做电子商务网站网站开发与发布
  • 公司网站介绍范文如何写网站建设方案书
  • 编程网站ide做的比较好的太原网站免费制作
  • qq做我女朋友好吗网站wordpress 页面排序
  • 项目管理平台保定网站排名优化
  • 昆山做网站公司哪家好wordpress 图片优化
  • 国外域名查询网站wordpress账户被禁用
  • 旅游网站建设方案两百字建站小程序快速上线
  • 阿里云建站费用seo手机优化软件哪个好用
  • 宿松做网站建网站logo怎么做
  • 福州网站设计哪家比较好北京中高风险地区名单
  • 企业门户网站有哪些都江堰市建设局网站
  • 网站首页文件名通常是做网站的设计软件
  • 山东网站建设服务招远住房和规划建设管理局网站
  • 网站统计工具有哪些半成品网站
  • 利用虚拟主机建设企业网站实验报告广东网站建设定制
  • 福田网站建设论文结论网站横幅广告代码
  • 网站开发可以用两种语言吗木门行业做网站有什么好处
  • 网站建设维护人员岗位郑州网站建设公司qq
  • 彩票类网站是如何做代理的县网站建设方案
  • 建设企业网站就等于开展网络营销吗wordpress 时间线页面
  • 重庆网站建设行业新闻网站建设 010
  • 设计配色的网站wordpress空白页面模板
  • 做网站吸引客户做sgs认证的公司网站
  • 淘宝客网站根目录网站空间租用价格
  • 合肥网站优化价格智慧团建网页手机版官网
  • 网站建设捌金手指下拉七苏州做网站外包的公司
  • 网站建设服务合同 律师WordPress tag 分类