LeetCode 1823. 找出游戏的获胜者

文章目录

  • LeetCode 1823. 找出游戏的获胜者
  • 题目描述
  • 一、解题关键词
  • 二、解题报告
    • 1.思路分析
    • 2.时间复杂度
    • 3.代码示例
    • 2.知识点
  • 总结

题目描述

共有 n 名小伙伴一起做游戏。小伙伴们围成一圈,按 顺时针顺序 从 1 到 n 编号。确切地说,从第 i 名小伙伴顺时针移动一位会到达第 (i+1) 名小伙伴的位置,其中 1 <= i < n ,从第 n 名小伙伴顺时针移动一位会回到第 1 名小伙伴的位置。游戏遵循如下规则:从第 1 名小伙伴所在位置 开始 。沿着顺时针方向数 k 名小伙伴,计数时需要 包含 起始时的那位小伙伴。逐个绕圈进行计数,一些小伙伴可能会被数过不止一次。你数到的最后一名小伙伴需要离开圈子,并视作输掉游戏。如果圈子中仍然有不止一名小伙伴,从刚刚输掉的小伙伴的 顺时针下一位 小伙伴 开始,回到步骤 2 继续执行。否则,圈子中最后一名小伙伴赢得游戏。给你参与游戏的小伙伴总数 n ,和一个整数 k ,返回游戏的获胜者。

1823. 找出游戏的获胜者
提示:

1 <= k <= n <= 500

一、解题关键词


二、解题报告

1.思路分析

1、有环
2、模拟处理数据
3、记录当前下标 并从list移除
4、结果为1的时候返回结果

2.时间复杂度

3.代码示例

class Solution {public int findTheWinner(int n, int k) {List<Integer> list = new ArrayList<>();for(int i = 1;i <= n;i++){list.add(i);}int start = 0;while(list.size()  > 1){//防止数组越界int id =(start + k - 1)% list.size();list.remove(id);start = id;}return list.get(0);}
}

2.知识点

坐标是会移动的  需要取模  本质为排序

总结

LeetCode 1823. 找出游戏的获胜者相关推荐

  1. 约瑟夫环——递推公式详解(leetcode 1823. 找出游戏的获胜者)

    约瑟夫环--递推公式详解(leetcode 1823. 找出游戏的获胜者) 约瑟夫环问题 约瑟夫环(约瑟夫问题)是一个数学的应用问题:已知 n 个人(以编号1,2,3-n分别表示)围坐在一张圆桌周围. ...

  2. golang力扣leetcode 1823.找出游戏的获胜者

    1823.找出游戏的获胜者 1823.找出游戏的获胜者 题解 代码 1823.找出游戏的获胜者 1823.找出游戏的获胜者 题解 题目:n个位围成一个环,每次删除第k个人,求最后一个人是谁 思路:约瑟 ...

  3. 约瑟夫环问题- leetcode 1823. 找出游戏的获胜者

    1823. 找出游戏的获胜者 使用链表模拟 class Solution {// 模拟public int findTheWinner(int n, int k) { List<Integer& ...

  4. Leetcode 1823 找出游戏的获胜者 (约瑟夫环问题)

    约瑟夫环:1....n的数字围成一个圈,依次数数,到第K位的时候,从环里移除这个数字,直到剩余最后一个数字. 解法1:模拟,容易超时(不推荐) 解法2:倒推.时间复杂度O(n) 倒推思路:从最后的状态 ...

  5. LeetCode 1823. 找出游戏的获胜者 (约瑟夫环)

    思路 下图所演示的是1 ~ n的情况,下标0 ~ n-1同样适用 李永乐约瑟夫环讲解 代码实现(java) class Solution {public int findTheWinner(int n ...

  6. 每日一道leetcode(python)1823. 找出游戏的获胜者

    每日一道leetcode(python)1823. 找出游戏的获胜者 2021-08-07 共有 n 名小伙伴一起做游戏.小伙伴们围成一圈,按 顺时针顺序 从 1 到 n 编号.确切地说,从第 i 名 ...

  7. LeetCode 937. 重新排列日志文件 / 1823. 找出游戏的获胜者(约瑟夫环问题) / 713. 乘积小于 K 的子数组

    937. 重新排列日志文件 2022.5.3 每日一题 题目描述 给你一个日志数组 logs.每条日志都是以空格分隔的字串,其第一个字为字母与数字混合的 标识符 . 有两种不同类型的日志: 字母日志: ...

  8. 1823. 找出游戏的获胜者( 约瑟夫环问题 )

    文章目录 Question Ideas 1.Answer( Java ) Code 2.Answer( Java ) Code 3.Answer( Java ) Code Question 1823. ...

  9. 0504|1823. 找出游戏的获胜者

    0504|1823. 找出游戏的获胜者 这道题使用队列也可以. 遍历 quene 时,从队尾拿出一个成员,然后再从对头插入.如此循环. 这里使用的是链表: var findTheWinner = fu ...

最新文章

  1. matlab如何模拟竹蜻蜓飞行,JSBSim_Matlab 将 与 进行联合仿真 模拟飞行计算 247万源代码下载- www.pudn.com...
  2. Win10系统下Visio安装失败问题
  3. SqlServer2005/2008下sysproperties无效的解决办法
  4. python完全支持面向对象编程_python面向对象编程----009
  5. Apache Flink 零基础入门(八): SQL 编程实践
  6. 小白能读懂的 《手把手教你学DSP(TMS320X281X)》第四章 2020-12-29 完整工程
  7. java中文字符串转化成英文字母
  8. 生成pdf设置中文字体出错 \simsun.ttc' with 'Identity-H' is not recognized或者type of font{0} is not recognized
  9. 如何成为一个合格的聚合支付代理商
  10. 刷机入门 手把手教程
  11. 闰年,闰月对应的天数快速记忆法
  12. android流光字体实现,CSS实现字体流光/高光滑动
  13. 传詹克团、吴忌寒将卸任比特大陆CEO一职
  14. 这么多人问的JVM的垃圾回收到底是个啥?
  15. [万字长文] 人脸识别初步调研报告
  16. jsp+servlet实现个人博客系统
  17. myeclipse 10.0下载及安装
  18. C++运算符重载(详解)
  19. CX51 用户手册----MDU_R515 伪指令
  20. docker-compose和docker swarm容器间网络不互通的情况

热门文章

  1. 如何设置自定义任务栏图标_轻松自定义Windows 7任务栏图标
  2. HDU 5148 Cities (树形DP)*
  3. CNN和LSTM的输入数据维度
  4. 最新的CC2642R与CC2640、CC2640R2F有什么改进?
  5. 李珣同款爱心特效代码,加DIY教程,快拿去送给你喜欢的那个ta吧。
  6. 如何生成数据库设计文档
  7. 朴素贝叶斯的应用_TF-IDF实例
  8. 光标飞控硬件架构设计与原理
  9. 【搜索】洛谷 P1460 健康的荷斯坦奶牛 Healthy Holsteins
  10. 群晖 使用SMB3进行局域网传输双倍叠加网速下踩的一些坑