力扣1823题:找出游戏获胜者(约瑟夫环)
本题刚开始我还在用数组去模拟删除,结果发现队列更简单:
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题:找出游戏获胜者(约瑟夫环)相关推荐
- 力扣算法题—045跳跃游戏二
1 #include "000库函数.h" 2 3 4 //考虑当前最远能到什么地方,例如2, 3, 1, 1, 4, 5 //首先只考虑a[0] = 2,即最远可以到a[2],然 ...
- golang力扣leetcode 1823.找出游戏的获胜者
1823.找出游戏的获胜者 1823.找出游戏的获胜者 题解 代码 1823.找出游戏的获胜者 1823.找出游戏的获胜者 题解 题目:n个位围成一个环,每次删除第k个人,求最后一个人是谁 思路:约瑟 ...
- 力扣每日一题2022-05-04中等题:找出游戏的获胜者
找出游戏的获胜者 题目描述 思路 数学 C++实现 Java实现 Python实现 题目描述 找出游戏的获胜者 思路 数学 第一轮删掉第k个人,问题就变为n-1个人进行这个游戏.假设知道f(n-1, ...
- 『力扣刷题』5275_找出井字棋的获胜者 解题代码
LeetCode-cn 力扣刷题 LeetCode-cn力扣刷题目录 165周赛 5275_找出井字棋的获胜者 * 5275. 找出井字棋的获胜者 显示英文描述* 用户通过次数0* 用户尝试次数0* ...
- 算法刷题 -- 1823. 找出游戏的获胜者<难度 ★★☆>
1.力扣原题 https://leetcode-cn.com/problems/find-the-winner-of-the-circular-game/ 其实也是约瑟夫环的问题,本来想用单向循环链表 ...
- LeetCode 937. 重新排列日志文件 / 1823. 找出游戏的获胜者(约瑟夫环问题) / 713. 乘积小于 K 的子数组
937. 重新排列日志文件 2022.5.3 每日一题 题目描述 给你一个日志数组 logs.每条日志都是以空格分隔的字串,其第一个字为字母与数字混合的 标识符 . 有两种不同类型的日志: 字母日志: ...
- 1823. 找出游戏的获胜者( 约瑟夫环问题 )
文章目录 Question Ideas 1.Answer( Java ) Code 2.Answer( Java ) Code 3.Answer( Java ) Code Question 1823. ...
- 每日一道leetcode(python)1823. 找出游戏的获胜者
每日一道leetcode(python)1823. 找出游戏的获胜者 2021-08-07 共有 n 名小伙伴一起做游戏.小伙伴们围成一圈,按 顺时针顺序 从 1 到 n 编号.确切地说,从第 i 名 ...
- 约瑟夫环——递推公式详解(leetcode 1823. 找出游戏的获胜者)
约瑟夫环--递推公式详解(leetcode 1823. 找出游戏的获胜者) 约瑟夫环问题 约瑟夫环(约瑟夫问题)是一个数学的应用问题:已知 n 个人(以编号1,2,3-n分别表示)围坐在一张圆桌周围. ...
最新文章
- matlab 全员极大型Topsis评价代码
- python小数输出01_python:格式化输出(上)
- Linux系统目录结构,文件类型以及ls、alias命令
- 成功解决raise Py4JError py4j.protocol.Py4JError: py4j.protocol.Py4JError: Could not find py4j jar at
- 成功解决AttributeError: ‘dict_values‘ object has no attribute ‘index‘
- 【quartus】原理图输入设计详解攻略
- Pytorch教程(十八)tensor的保存为csv,并加载
- 自动驾驶「无视」障碍物:百度研究人员攻陷激光雷达
- MS SQL SERVER中备份所有数据库
- python api是什么_python – 如何处理API响应
- ERP软件管理持续升级 抢占产业先机
- 微信小程序倒计时功能
- 1688api 图片搜索功能 item_search_img-按图搜索1688商品(拍立淘)
- Python set 计算集合的并集,交集,差集以及对称集(补集)
- 为麦芒新机渲染图曝光:疑似后置奥利奥三摄
- 微信小程序picker组件
- oracle解决表空间不足问题
- 手把手教你如何一键备份和恢复微信聊天记录
- HTML中的动画起名字,H5?这么洋气的名字谁起的?(10分周了解H5广告)
- 计算机一级要学多久过,本科生一定要过计算机一级吗,计算机一级考试内容