##题目描述: 据说著名犹太历史学家 Josephus(约瑟夫)有过以下的故事:在罗马人占领乔塔帕特后, 39 个犹太人与 Josephus 及他的朋友躲到一个洞中,39 个犹太人决定宁愿死也不要被敌人抓到,于是决定了一个自杀方式,41 个人排成一个圆圈,由第 1 个人开始报数,报数每报到第 3 个 ...
分类:
其他好文 时间:
2020-05-26 22:10:41
阅读次数:
94
今日一言:谢谢你,成为我前进的理由。——《言叶之庭》 数据结构 —— 约瑟夫环 这是用链表实现的,约瑟夫环的规则是:总数为N的同学围成一个圆环,并将这些同学从1开始编号,游戏开始时,约定好一个数字K,从1号同学开始轮着叫号,当叫到K号时,该同学淘汰,下一位同学从1开始重新叫号,只要叫到K号即淘汰,留 ...
分类:
其他好文 时间:
2020-05-24 23:59:31
阅读次数:
110
圆圈中最后剩下的数字 0,1,,n-1这n个数字排成一个圆圈,从数字0开始,每次从这个圆圈里删除第m个数字。求出这个圆圈里剩下的最后一个数字。 例如,0、1、2、3、4这5个数字组成一个圆圈,从数字0开始每次删除第3个数字,则删除的前4个数字依次是2、0、4、1,因此最后剩下的数字是3。示例 1:输 ...
分类:
其他好文 时间:
2020-05-24 18:03:44
阅读次数:
51
循环链表 单链表的局限性:如果不从头结点出发,就无法访问的全部节点。 循环链表定义:将单链表终端结点的指针由空指针改为指向头结点;使单链表形成一个环,称单循环链表,简称循环链表 注:循环链表不一定有头结点。 ...
分类:
其他好文 时间:
2020-05-03 00:42:24
阅读次数:
58
1 #include <iostream> 2 #include <cstdio> 3 #include <cstring> 4 5 using namespace std; 6 7 8 //解决约瑟夫环问题 9 //分别使用数组和链表 10 //问题描述:n只猴子围成一个圈选大王,从1开始数m个数 ...
分类:
其他好文 时间:
2020-05-01 12:53:52
阅读次数:
43
没啥难度,还是难以判断测试用例的问题,也就是k是否大于10,否则就会采用字符串进行判断; #include<iostream> #include<vector> #include<queue> #include<string> using namespace std; int n, k; struc ...
分类:
其他好文 时间:
2020-04-11 18:39:27
阅读次数:
67
2020-04-10 11:40:30 问题描述: 0,1,,n-1这n个数字排成一个圆圈,从数字0开始,每次从这个圆圈里删除第m个数字。求出这个圆圈里剩下的最后一个数字。 例如,0、1、2、3、4这5个数字组成一个圆圈,从数字0开始每次删除第3个数字,则删除的前4个数字依次是2、0、4、1,因此最 ...
分类:
其他好文 时间:
2020-04-10 12:19:33
阅读次数:
94
约瑟夫问题:n个人围坐成一圈,从1开始顺序编号;游戏开始,从第一个人开始由1到m循环报数, 报到m的人退出圈外,问最后剩下的那个人原来的序号。 问题分析:面对这样循环报数的数据,我们最容易想到的就是用数组进行报数的模拟,最后把存活的人的编号输出。 先贴上这种思路的代码: 1 #include<ios ...
分类:
其他好文 时间:
2020-04-02 15:43:44
阅读次数:
66
题目:圆圈中最后剩下的数字 0,1,,n-1这n个数字排成一个圆圈,从数字0开始,每次从这个圆圈里删除第m个数字。求出这个圆圈里剩下的最后一个数字。 例如,0、1、2、3、4这5个数字组成一个圆圈,从数字0开始每次删除第3个数字,则删除的前4个数字依次是2、0、4、1,因此最后剩下的数字是3。 示例 ...
分类:
其他好文 时间:
2020-03-30 23:41:26
阅读次数:
127
这是道数学题,说实话,我是不太喜欢做的,因为主要是公式的推导。无奈每日一题。 约瑟夫环,有兴趣可查,本人的智商就算了,从小到达公式都是死记硬背的。 func lastRemaining(n int, m int) int { ans := 0 for i := 2; i <= n; i++ { an ...
分类:
其他好文 时间:
2020-03-30 23:16:54
阅读次数:
54