找出游戏的获胜者(java)
问题描述:(约瑟夫环)
样例输入:
代码如下:使用链表模拟法
import java.util.Scanner;
public class FindTheWinner {//找出游戏的获胜者//1 <= k <= n <= 500class Node{int data;Node next;public Node(int data) {this.data = data;}}public int findTheWinner(int n, int k) {//利用循环列表来解决if (k==1) return n;Node first=new Node(1);Node p=first;for (int i = 2; i <=n ; i++) {p.next=new Node(i);p=p.next;}p.next=first;//首尾相连Node p1=first;Node pre=null;int cnt=1;while (p1!=pre){pre=p1;p1=p1.next;cnt++;if (cnt==k){pre.next=p1.next;//删除p1所指的节点cnt=1;p1=pre.next;//将p1指向下一个节点}}return p1.data;}public static void main(String[] args) {Scanner scanner=new Scanner(System.in);int n=scanner.nextInt();int k=scanner.nextInt();FindTheWinner findTheWinner=new FindTheWinner();System.out.println(findTheWinner.findTheWinner(n,k));}
}
运行结果如下:
找出游戏的获胜者(java)相关推荐
- 1823. 找出游戏的获胜者( 约瑟夫环问题 )
文章目录 Question Ideas 1.Answer( Java ) Code 2.Answer( Java ) Code 3.Answer( Java ) Code Question 1823. ...
- 力扣每日一题2022-05-04中等题:找出游戏的获胜者
找出游戏的获胜者 题目描述 思路 数学 C++实现 Java实现 Python实现 题目描述 找出游戏的获胜者 思路 数学 第一轮删掉第k个人,问题就变为n-1个人进行这个游戏.假设知道f(n-1, ...
- 约瑟夫环——递推公式详解(leetcode 1823. 找出游戏的获胜者)
约瑟夫环--递推公式详解(leetcode 1823. 找出游戏的获胜者) 约瑟夫环问题 约瑟夫环(约瑟夫问题)是一个数学的应用问题:已知 n 个人(以编号1,2,3-n分别表示)围坐在一张圆桌周围. ...
- LeetCode 1823. 找出游戏的获胜者
LeetCode 1823. 找出游戏的获胜者 文章目录 LeetCode 1823. 找出游戏的获胜者 题目描述 一.解题关键词 二.解题报告 1.思路分析 2.时间复杂度 3.代码示例 2.知识点 ...
- golang力扣leetcode 1823.找出游戏的获胜者
1823.找出游戏的获胜者 1823.找出游戏的获胜者 题解 代码 1823.找出游戏的获胜者 1823.找出游戏的获胜者 题解 题目:n个位围成一个环,每次删除第k个人,求最后一个人是谁 思路:约瑟 ...
- 0504|1823. 找出游戏的获胜者
0504|1823. 找出游戏的获胜者 这道题使用队列也可以. 遍历 quene 时,从队尾拿出一个成员,然后再从对头插入.如此循环. 这里使用的是链表: var findTheWinner = fu ...
- 约瑟夫环问题- leetcode 1823. 找出游戏的获胜者
1823. 找出游戏的获胜者 使用链表模拟 class Solution {// 模拟public int findTheWinner(int n, int k) { List<Integer& ...
- 1823. 找出游戏的获胜者
1823. 找出游戏的获胜者 思路: 用向量存储成员编号 进入循环,只剩一位成员时,break 根据题意每次移除一个人 上一次的坐标加上每次移动个数减去1(上一次结束时的下一个坐标是这一次的开始)模剩 ...
- 每日一道leetcode(python)1823. 找出游戏的获胜者
每日一道leetcode(python)1823. 找出游戏的获胜者 2021-08-07 共有 n 名小伙伴一起做游戏.小伙伴们围成一圈,按 顺时针顺序 从 1 到 n 编号.确切地说,从第 i 名 ...
最新文章
- 做项目经理到底有多爽?
- ACL控制访问列表原理+实验
- Silverlight C# 游戏开发:Flyer03大图裁剪,高效动画的艺术
- 使用gluoncv.model_zoo进行目标检测
- 【用jQuery来判断浏览器的类型】及【javascript获取用户ip地址】
- 如何在电脑上制作请假条表格_条码标签打印软件如何制作请假表
- python字符串的10个常用方法总结
- SAP License:搞砸SAP项目的3种方法
- 【白皮书分享】2020智能体白皮书-华为.pdf(附下载链接)
- access性别字段_12、ACCESS数据表的筛选(ACCESS图解操作系列)
- VS2012 单元测试之泛型类(Generics Unit Test)
- 歪门邪道破解Flash-SWF to AVI GIF Converter
- Windows10系统打开程序应用提示『不支持此接口』的解决方案
- hdu 5211 Mutiple 数学
- Langlands纲领介绍
- 正心,修身,方能齐家,治国,平天下
- 在Centos7下源码安装配置Redis
- MOS驱动自举电容和限流电阻的选取
- Legolas工业自动化平台入门(二)数据响应动作
- Flutter 实现原理及跨平台实践