本题刚开始我还在用数组去模拟删除,结果发现队列更简单:

import java.util.ArrayDeque;
import java.util.Queue;
import java.util.Scanner;public class likou1823 {public static void main(String[] args) {Scanner sc = new Scanner(System.in);int n = sc.nextInt();int k = sc.nextInt();System.out.println(f(n,k));}private static int f(int n, int k) {Queue<Integer> list = new ArrayDeque<Integer>();for (int i = 1; i <= n; i++) {list.offer(i);}while (list.size() > 1) {for (int i = 1; i < k; i++) {list.offer(list.poll());}list.poll();}return list.peek();}
}

n=1 2 3 4 5

k=3

1 2 4 5 退出3

4 5 2 退出 1

2 4 退出 5

2 退出 4

还有一个数学解法,我没怎么看懂,所以直接给链接:

【力扣每日一题】1823. 找出游戏的获胜者 #队列模拟 #约瑟夫环数学推导_哔哩哔哩_bilibili

力扣1823题:找出游戏获胜者(约瑟夫环)相关推荐

  1. 力扣算法题—045跳跃游戏二

    1 #include "000库函数.h" 2 3 4 //考虑当前最远能到什么地方,例如2, 3, 1, 1, 4, 5 //首先只考虑a[0] = 2,即最远可以到a[2],然 ...

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

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

  3. 力扣每日一题2022-05-04中等题:找出游戏的获胜者

    找出游戏的获胜者 题目描述 思路 数学 C++实现 Java实现 Python实现 题目描述 找出游戏的获胜者 思路 数学 第一轮删掉第k个人,问题就变为n-1个人进行这个游戏.假设知道f(n-1, ...

  4. 『力扣刷题』5275_找出井字棋的获胜者 解题代码

    LeetCode-cn 力扣刷题 LeetCode-cn力扣刷题目录 165周赛 5275_找出井字棋的获胜者 * 5275. 找出井字棋的获胜者 显示英文描述* 用户通过次数0* 用户尝试次数0* ...

  5. 算法刷题 -- 1823. 找出游戏的获胜者<难度 ★★☆>

    1.力扣原题 https://leetcode-cn.com/problems/find-the-winner-of-the-circular-game/ 其实也是约瑟夫环的问题,本来想用单向循环链表 ...

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

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

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

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

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

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

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

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

最新文章

  1. matlab 全员极大型Topsis评价代码
  2. python小数输出01_python:格式化输出(上)
  3. Linux系统目录结构,文件类型以及ls、alias命令
  4. 成功解决raise Py4JError py4j.protocol.Py4JError: py4j.protocol.Py4JError: Could not find py4j jar at
  5. 成功解决AttributeError: ‘dict_values‘ object has no attribute ‘index‘
  6. 【quartus】原理图输入设计详解攻略
  7. Pytorch教程(十八)tensor的保存为csv,并加载
  8. 自动驾驶「无视」障碍物:百度研究人员攻陷激光雷达
  9. MS SQL SERVER中备份所有数据库
  10. python api是什么_python – 如何处理API响应
  11. ERP软件管理持续升级 抢占产业先机
  12. 微信小程序倒计时功能
  13. 1688api 图片搜索功能 item_search_img-按图搜索1688商品(拍立淘)
  14. Python set 计算集合的并集,交集,差集以及对称集(补集)
  15. 为麦芒新机渲染图曝光:疑似后置奥利奥三摄
  16. 微信小程序picker组件
  17. oracle解决表空间不足问题
  18. 手把手教你如何一键备份和恢复微信聊天记录
  19. HTML中的动画起名字,H5?这么洋气的名字谁起的?(10分周了解H5广告)
  20. 计算机一级要学多久过,本科生一定要过计算机一级吗,计算机一级考试内容

热门文章

  1. sql-DbContext
  2. 涉案金额600万!微粒贷诈骗团伙被警方一锅端
  3. php 招聘要求 转载
  4. Keras模型中数据维度报错
  5. mysql不锁表加索引
  6. sql执行顺序及性能优化
  7. 【TCP wrappers】关于/etc/hosts.allow /etc/hosts.deny
  8. 安兔兔电脑ssd测试软件,威钰战国NVMe SSD测评,安兔兔SSD测试软件到底靠不靠谱...
  9. 实现一个简单的压测工具
  10. Latex--TikZ和PGF--高级文本绘图,思维绘图,想到--得到!