解题思路:
每次都可以计算出失败者的位置和下一轮开始人的位置
不断删除、重新开始就能得到最后的获胜者

class Solution:def findTheWinner(self, n: int, k: int) -> int:s, Q = 0, [i for i in range(1, n + 1)]while len(Q) > 1:#确定该轮失败者的位置lost = (s + k - 1) % len(Q)    #更新下一轮开始的人if lost != len(Q) - 1:s = lostelse:s = 0#删除失败者    del Q[lost]   return Q[0]

leetcode刷题250天(65)——1823. 找出游戏的获胜者(约瑟夫环问题)相关推荐

  1. Leetcode题库1823. 找出游戏的获胜者(约瑟夫环 C实现)

    文章目录 思路 状态转移过程 状态转移方程 递归思路 迭代思路 补充 代码 递归 迭代 思路 状态转移过程 设 n 名小伙伴做游戏,计数为k 有n名小伙伴时,第一个离开的小伙伴编号为k,剩下n-1名小 ...

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

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

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

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

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

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

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

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

  6. LeetCode 1823. 找出游戏的获胜者

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

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

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

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

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

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

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

最新文章

  1. 首字母大写 -freeCodeCamp
  2. madplay播放器移植
  3. CTO关注:升级Win 10,除了更安全还有什么
  4. Read a large file with python
  5. 内存分配与数据格式化(malloc与new)
  6. linux mysql编译安装mysql_【MySQL安装】Linux下安装MySQL(预编译)
  7. 兼容ie10以下版本的placeholder属性
  8. logistic回归分析优点_二元Logistic回归
  9. TCP协议-TCP粘包问题
  10. 关于电子科技大学学生用餐状况的一些调查
  11. wpf-折线图绘制2-oxyplot-1
  12. c++ 控制台游戏打砖块
  13. 用手机访问计算机共享资源,怎么进入共享文件夹?手机访问电脑局域网共享文件夹的方法...
  14. 玉米田(cowfood)
  15. arnold降噪denoise官方教程
  16. 解决CSDN上传MD文件不能显示照片
  17. Springboot实现过滤器
  18. EasyRecovery 15 mac中文免费密钥数据恢复 安装软件的方法教程及版本对比
  19. 移动web微金所实战项目——导航栏
  20. 哈工大软件过程与工具

热门文章

  1. 区块链Fabric 技术架构和交易流程
  2. 手机 9006 端口 不断的闪掉
  3. 智链ChainNova携手IBM推出端到端区块链解决方案
  4. Python中判断输入数据的类型
  5. matlab画柱形图
  6. json和ajax的使用
  7. 什么是上下变频器?以及对5G应用的作用
  8. 修改Android app图标(Android Studio)
  9. Java基础知识:线程池的种类(5种)
  10. Node.js与相关依赖的版本对照表