E-COM-NET
首页
在线工具
Layui镜像站
SUI文档
联系我们
推荐频道
Java
PHP
C++
C
C#
Python
Ruby
go语言
Scala
Servlet
Vue
MySQL
NoSQL
Redis
CSS
Oracle
SQL Server
DB2
HBase
Http
HTML5
Spring
Ajax
Jquery
JavaScript
Json
XML
NodeJs
mybatis
Hibernate
算法
设计模式
shell
数据结构
大数据
JS
消息中间件
正则表达式
Tomcat
SQL
Nginx
Shiro
Maven
Linux
约瑟夫环问题
约瑟夫环问题
题目描述0,1,n-1这n个数字排成一个圆圈,从数字0开始,每次从这个圆圈里删除第m个数字。求出这个圆圈里剩下的最后一个数字。例如,0、1、2、3、4这5个数字组成一个圆圈,从数字0开始每次删除第3个数字,则删除的前4个数字依次是2、0、4、1,因此最后剩下的数字是3示例示例一:输入:n=5,m=3输出:3示例二:输入:n=10,m=17输出:2限制:1<=n<=10^51<=m<=10^6心路历
時悦.
·
2020-06-29 10:44
LeetCode-面试题62. 圆圈中最后剩下的数字
圆圈中最后剩下的数字解经典
约瑟夫环问题
设f(n,m)f(n,m)f(n,m)输出的是最后结点的index,则根据规律我们有f(n)={0,n=1((m%n)+f(n−1,m))%n,elsef(n)=\
秋名山上秋山澪
·
2020-06-29 08:43
LeetCode
约瑟夫环问题
解决思路及python实现
约瑟夫环问题
当前有n个人,给定一个数字k,n个人依次从1开始排序,排到k时,当前这个人出列,然后从下一个人开始从1开始继续排序,循环最后出列的人的序号是多少?衍生出的问题是第m轮出列的人的序号是多少?
i吉他小生
·
2020-06-28 21:15
数据结构
经典算法--
约瑟夫环问题
的三种解法
约瑟夫环问题
,这是一个很经典算法,处理的关键是:伪链表问题描述:N个人围成一圈,从第一个人开始报数,报到m的人出圈,剩下的人继续从1开始报数,报到m的人出圈;如此往复,直到所有人出圈。
西邮陈冠希
·
2020-06-28 20:58
数据结构与算法
约瑟夫环问题
,一道经典的数据结构题目
问题描述:n个人(编号0~(n-1)),从0开始报数,报到(m-1)的退出,剩下的人继续从0开始报数。求胜利者的编号。一般我们采用一个循环队列来模拟约瑟夫环的求解过程,但是如果n比较大的时候,采用模拟的方式求解,需要大量的时间来模拟退出的过程,而且由于需要占用大量的内存空间来模拟队列中的n个人,并不是一个很好的解法。在大部分情况下,我们仅仅需要知道最后那个人的编号,而不是要来模拟一个这样的过程,在
weixin_30918415
·
2020-06-28 02:37
约瑟夫环问题
,多种方式处理
约瑟夫环问题
,这是一个很经典算法问题描述:N个人围成一圈,从第一个人开始报数,报到m的人出圈,剩下的人继续从1开始报数,报到m的人出圈;如此往复,直到所有人出圈。
想名真难
·
2020-06-27 09:33
数据结构和算法
第十八题(
约瑟夫环问题
)
第18题:题目:n个数字(0,1,…,n-1)形成一个圆圈,从数字0开始,每次从这个圆圈中删除第m个数字(第一个为当前数字本身,第二个为当前数字的下一个数字)。当一个数字删除后,从被删除数字的下一个继续删除第m个数字。求出在这个圆圈中剩下的最后一个数字。这道题网上讲解的很多,主要有两种方法:第一种,采用循环链表实现,建立一个有n个节点的循环链表,然后从链表头开始遍历链表并计数,计数值到m-1时将节
BurningWall
·
2020-06-27 06:21
100题
数据结构--约瑟夫环(含密码,C++实现)
///*
约瑟夫环问题
是:编号为1,2······,n的n个人按顺时针方向围坐一圈,每人持有一个密码。
君主图灵
·
2020-06-26 12:42
数据结构C++篇
Java版-经典算法“
约瑟夫环问题
”(企业高频笔试算法题)
经典算法-
约瑟夫环问题
(初级版)直接上经典的例题:案例1:已知n个人(以编号1,2,3…n分别表示)围坐在一张圆桌周围。
shaomingmin
·
2020-06-26 08:52
算法
图解Java数据结构之环形链表
如下图结构:而在环形链表中,最为著名的即是
约瑟夫环问题
。
约瑟夫环问题
问题介绍:设编号为1、2、3、…、n的n个人围坐一圈,约定编号为k(14
~wangweijun
·
2020-06-25 23:09
图解Java数据结构
(算法)C语言模拟
约瑟夫环问题
约瑟夫环问题
描述m个人围坐一圈,每人持有一个数字,从第一个人开始从1报数,报到n(第一轮n任意给定)的人出圈,将n改为这个出圈的人所持有的数字,下个人开始从1报数,继续报到n的人出列;依次类推直到所有人出圈
Sirm23333
·
2020-06-25 13:08
数据结构与基本算法
数据结构:
约瑟夫环问题
(C语言)
比如今天的
约瑟夫环问题
,输入人数和循环次数。我写完代码后,发现和书上的排序不同,看了我的代码好像没有太多问题,于是我自己拿手数了,发现书上的答案果然是错的。。。。。。。
nidie508
·
2020-06-24 17:36
数据结构
C语言
个人笔记
约瑟夫环(C语言单项循环链表)
约瑟夫环(C语言单项循环链表)
约瑟夫环问题
描述:约瑟夫问题的一种描述是:编号为1,2,…,n的n个人按顺时针方向围坐一圈,每人持一个密码(正整数)。
newnewman80
·
2020-06-24 17:52
C/C++
约瑟夫环问题
约瑟夫环问题
问题描述:有n个人围成一个环,然后给从某个人开始顺时针从1开始报数,每报到m时,将此人出环杀死(当然不杀死也可以啊),然后从下一个人继续从1报数,直到最后只剩下一个人,求这个唯一剩下的存活的人是谁
mansky19850502
·
2020-06-24 13:51
约瑟夫环问题
的详细解答
约瑟夫环是一个数学的应用问题:已知n个人(以编号1,2,3,...,n分别表示)围坐在一张圆桌周围,从编号为k的人开始报数,数到m的那个人出列,他的下一个人从1开始报数,数到m的那个人出列;他的下一个人又从1开始报数,数到m的那个人又出列;依此规律重复下去,知道圆桌周围的人全部出列。分析:首先,标识这n个人,第一种标识方法是从0开始讲n个人标识为0~n-1;第二种方法是从1开始标识,将这n个人标识
Angelia_zhu
·
2020-06-24 09:32
约瑟夫环问题
的几种解法
一、问题的来历据说著名犹太历史学家Josephus有过以下的故事:在罗马人占领乔塔帕特后,39个犹太人与Josephus及他的朋友躲在一个洞中,39个犹太人决定宁愿死也不要被敌人抓到,于是决定了一个自杀方式,41个人排成一个圆圈,由第1个人开始报数,每报数到第3人该人就必须自杀,然后再由下一个重新报数,直到所有人都自杀身亡为止。然而Josephus和他的朋友并不想遵从。问题是,给定了总人数n和报数
愣头小兵
·
2020-06-24 09:28
数据结构和算法
约瑟夫环
c语言
愣头小兵
算法
数据结构
约瑟夫环问题
(C语言循环链表)
一:问题描述
约瑟夫环问题
是一个数学的应用问题:已知n个人(以编号1,2,3...n分别表示)围坐在一张圆桌周围。
leikun153
·
2020-06-24 03:27
[java]
约瑟夫环问题
约瑟夫环问题
:一圈共有N个人,开始报数,报到M的人自杀,然后重新开始报数,问最后自杀的人是谁?
第六象限
·
2020-06-23 23:08
约瑟夫环问题
编号为1,2,…,n的n个人按顺时针方向围坐在一张圆桌周围,每人持有一个密码(正整数)。一开始任选一个正整数m作为报数上限值,从第一个人开始按顺时针方向自1开始报数,报到m时停止报数,报m的那个人出列,将他的密码作为新的m值,从他顺时针方向的下一个人开始重新从1报数,数到m的那个人又出列;如此下去,直至圆桌周围的人全部出列为止。要求按出列顺序输出n个人的编号。#include#include#in
Thexin.
·
2020-06-23 16:17
leetcode之
约瑟夫环问题
,妙哉公式法
约瑟夫环问题
约瑟夫环问题
是N个人围成一圈,从第一个人开始报数,报到m的人出圈,剩下的人继续从1开始报数,报到m的人出圈;如此往复,直到最后只剩下1个人。
程序员早早
·
2020-06-23 13:49
leetcode
C语言实现约瑟夫环的问题(循环链表)
写博客的第二天,简单说一个小问题,
约瑟夫环问题
的实现。本文主要是通过循环链表实现(建议掌握后再来看)。
金色周卓
·
2020-06-23 10:06
三七互娱笔试之【20人围圈,报数遇3排除】
题目描述:20个人围成一圈,轮流报数1,2,3,报到3的人踢出局,求最后剩余的一个人的序号为多少;思路分析:典型的
约瑟夫环问题
;代码分析:#include#includeusingnamespacestd
1024个秘密
·
2020-06-22 20:53
代码
算法之
约瑟夫环问题
:有n个人排成一列或是一圈,从编号为k的人开始报数,数到m的那个人出列。(Java)
文章目录
约瑟夫环问题
1.题目2.解析3.总代码
约瑟夫环问题
约瑟夫环描述:约瑟夫环(约瑟夫问题)是一个数学的应用问题:已知n个人(以编号1,2,3…n分别表示)围坐在一张圆桌周围。
RunFromHere
·
2020-06-22 16:30
数据结构与算法
C++
约瑟夫环问题
约瑟夫环是一个数学的应用问题:已知n个人(以编号1,2,3...n分别表示)围坐在一张圆桌周围。从编号为k的人开始报数,数到m的那个人出列;他的下一个人又从1开始报数,数到m的那个人又出列;依此规律重复下去,直到圆桌周围的人全部出列。/***约瑟夫环:*已知n个人(以编号1,2,3...n分别表示)围坐在一张圆桌周围。从编号为k的人开始报数,数到m的那个人出列;他的下一个人又从1开始报数,数到m的
arhaiyun
·
2020-06-22 15:35
巧解
约瑟夫环问题
100个小孩手拉手围成一圈,从第1个小孩开始报数,数到3出列,下一个小孩继续从1开始报数,循环报数,求最后留在队列中的小孩的位置。这是一道非常经典的算法题,我在面试的时候经常提到这道题。这道题是完全可以通过正向思维解答的,但遗憾的是,在所有面试的人中,几乎没有一个人可以正确地解答这道题。那么,到底要如何解答这道题呢,我们一起来试试看!解法一:生死看淡,不服就干首先,我们尝试用正向思维解答,我们用一
凯特琳
·
2020-06-22 15:39
数据结构与算法
约瑟夫环问题
(圆圈中最后剩下的数字)的数学推理解法
问题描述约瑟夫环(Josephuse)是一个数学的应用问题:已知n个人(以编号1,2,3…n分别表示)围坐在一张圆桌周围。从编号为k的人开始报数,数到m的那个人出列;他的下一个人又从1开始报数,数到m的那个人又出列;依此规律重复下去,直到圆桌周围的人全部出列。假设假设编号从0开始,每次删除第mmm个节点。举例说明:(0,1,2,3,4)(0,1,2,3,4)(0,1,2,3,4)这5个数字组成圆环
Jalen Xu
·
2020-06-22 08:11
算法
约瑟夫环问题
与递归问题(详解)
今天呢,阿Q给大家带来一个小故事,那就是著名的约瑟夫问题。公元66年,约瑟夫不情愿地参与领导了犹太同胞反抗罗马统治的起义,后来起义失败,他和一些宁死不降的起义者被困于一个山洞之中。罗马将军韦斯巴芗(Vespasian)派人来劝降,他主张投降,其余的人不答应,并以死相逼。最后,约瑟夫提议,与其死在自己的手上,不如死在彼此的手上。因此他便将游戏规则告知众人:N个人围成一圈,从第一个人开始报数,报到m的
阿Q说
·
2020-06-22 03:41
开发总结
约瑟夫环问题
(循环链表)C语言
约瑟夫环问题
(循环链表)C语言问题描述
约瑟夫环问题
是由古罗马的史学家约瑟夫提出的,他参加并记录了公元66—70年犹太人反抗罗马的起义。
酷酷的鑫ゝ
·
2020-06-22 01:09
剑指offer:
约瑟夫环问题
,圆圈中最后剩下的数
链接:https://www.nowcoder.com/questionTerminal/11b018d042444d4d9ca4914c7b84a968来源:牛客网约瑟夫问题是一个非常著名的趣题,即由n个人坐成一圈,按顺时针由1开始给他们编号。然后由第一个人开始报数,数到m的人出局。现在需要求的是最后一个出局的人的编号。给定两个intn和m,代表游戏的人数。请返回最后一个出局的人的编号。保证n和
Sulayman600
·
2020-06-22 00:24
剑指offer
Python
约瑟夫环问题
约瑟夫环问题
问题描述设编号为1,2…n的n个人围坐一圈,约定编号为k(1totalNum||startNum<1){System.out.println("输入有误");return;}//创建helper
LEverything
·
2020-06-21 23:34
数据结构学习
数据结构_
约瑟夫环问题
oj上有一道
约瑟夫环问题
:描述约瑟夫环是一个数学的应用问题:已知n个人(以编号1,2,3…n分别表示)围坐在一张圆桌周围。
小白白白白突
·
2020-06-21 16:15
数据结构
C语言循环链表求解
约瑟夫环问题
(循环方式)
************************************************************************************@brief:使用链表和循环求解
约瑟夫环问题
wuchuan53
·
2020-06-21 14:34
数据结构
毕业生求职必会算法
约瑟夫环问题
写在前面:我是「扬帆向海」,这个昵称来源于我的名字以及女朋友的名字。我热爱技术、热爱开源、热爱编程。技术是开源的、知识是共享的。这博客是对自己学习的一点点总结及记录,如果您对Java、算法感兴趣,可以关注我的动态,我们一起学习。用知识改变命运,让我们的家人过上更好的生活。相关文章点此查看【算法系列】博客文章文章目录一、问题描述二、问题分析三、实现逻辑四、代码实现一、问题描述约瑟夫问题(有时也称为约
扬帆向海
·
2020-06-21 13:43
算法
约瑟夫环问题
算法的C语言代码实现
约瑟夫(Joseph)问题的一种描述是:编号为1,2,⋯⋯n的n个人按顺时针方向围坐一圈,每人持有一个密码(正整数)。一开始任选一个正整数作为报数上限值m,从第一个人开始按顺时针方向自1开始顺序报数,报到m时停止报数。报m的人出列,将他的密码作为新的m值,从他在顺时针方向上的下一个人开始重新从1报数,如此下去,直至所有人全部出列为止。试设计一个程序求出出列顺序。基本要求利用单向循环链表存储结构模拟
冒泡的马树
·
2020-06-21 02:53
c
算法
数据结构
单向环形链表解决约瑟夫环(Josephus)问题
一、
约瑟夫环问题
Josephu问题为:设编号为1,2,…n的n个人围坐一圈,约定编号为k(1nums){System.out.println("参数输入有误");return;}//创建辅助指针helper
撒阳光的人
·
2020-05-11 13:00
扑克牌顺子 /
约瑟夫环问题
/ 二进制1的个数
扑克牌的顺子一副牌里随机抽5张牌,大小王看作任意的数字,判断是不是顺子。方法一:先快速排序,然后比较大小和是否相等,最后判断。publicbooleanisContinuous(int[]n){if(n==null||n.length==0)returnfalse;Arrays.sort(n);intnumberOfZero=0;intnumberOfGap=0;for(inti=0;inumbe
icecrea
·
2020-04-10 06:11
剑指offer.C++.code46-50
46.圆圈中最后剩下的数【
约瑟夫环问题
】有个游戏是这样的:首先,让小朋友们围成一个大圈。然后,他随机指定一个数m,让编号为0的小朋友开始报数。
小异_Summer
·
2020-04-09 18:55
php实现
约瑟夫环问题
题目:一群猴子排成一圈,按1,2,…,n依次编号。然后从第1只开始数,数到第m只,把它踢出圈,从它后面再开始数,再数到第m只,在把它踢出去…,如此不停的进行下去,直到最后只剩下一只猴子为止,那只猴子就叫做大王。要求编程模拟此过程,输入m、n,输出最后那个大王的编号。//$n为总人数,$m为每m个人就踢掉一个1){$i++;$curr=array_shift($arr);if($i%$m!=0){a
舒小贱
·
2020-04-01 06:46
数据结构---链表及
约瑟夫环问题
带来的思考
链表和数组一样也是线性表的一种。和数组不同,它不需要再内存中开辟连续的空间。链表通过指针将一组零散的内存块连接在一起。我们把内存块称为链表的“结点”(是节点还是结点,结点连接起来打个结所以叫“结点”?开个玩笑),也就是说这些结点可以在内存的任意地方,只要有其他的结点的指针指向这个位置就可以。链表又分为单向链表,双向链表,循环链表单向链表循环链表:最后一个节点指向第一个结点双向链表:比单向链表多了一
白露非霜
·
2020-03-31 23:00
约瑟夫环问题
详解(java版)
1什么是
约瑟夫环问题
?约瑟夫,是一个古犹太人,曾经在一次罗马叛乱中担任将军,后来战败,他和朋友及另外39个人躲在一口井里,但还是被发现了。罗马人表示只要投降就不死,约瑟夫想投降,可是其他人坚决不同意。
纪语晴
·
2020-03-29 17:54
【剑指Offer 45】圆圈中最后剩下的数字(
约瑟夫环问题
)
代码如下:packagedemo;importjava.util.LinkedList;importjava.util.List;/***圆圈中最后剩下的数字(
约瑟夫环问题
)**@authorxiangdonglee
李行之
·
2020-03-23 22:10
转圈淘汰问题(
约瑟夫环问题
),数组,队列,循环链表做法
问题:一圈人围成一圈,从1开始数,当数到3的人就退出,下一个继续从1数主要程序:#includeusingnamespacestd;intmain(){inta[6]={1,1,1,1,1,1};intsum=0,i=0,count=0;while(1){if(count==6){break;}if(a[i]==0){i++;if(i==6){i=0;}continue;}else{sum++;i
放心笑
·
2020-03-23 20:35
约瑟夫环问题
的数学解
下午和朋友聊天的时候,有朋友提到了
约瑟夫环问题
。你和另外n-1个人围成一个圈,按1,2,...,n依次编号。第一个人从1开始报数,数到k的人会被杀掉,然后下一个人重新从1开始报数。
song4
·
2020-03-01 01:26
约瑟夫环问题
问题描述:n个人(编号0~(n-1)),从0开始报数,报到(m-1)的退出,剩下的人继续从0开始报数。求胜利者的编号。http://blog.csdn.net/haoni123321/article/details/7178748利用数学推导,下面是推导的过程:(1)第一个被删除的数为(m-1)%n。(2)假设第二轮的开始数字为k,那么这n-1个数构成的约瑟夫环为k,k+1,k+2,k+3,...
xinggang
·
2020-02-18 13:09
约瑟夫环问题
f(n)表示有n个人,最后一个出局的人的编号则f(n-1)表示有n-1个人,最后一个出局的人的编号首先这一个大圆圈,我们从0开始给他们编号,然后开始从1报数,报数到K则出局那么第一个出局的人,他的下标编号就是K-1有一个出局的人之后,从他的下一个开始重新给他们编号,那么就是n-1个人,刚才编号是K的现在更新他的编号是0灵魂画师.png0--1--2--3(f[n-1],即更新后最后一个出局的人的下
鬼鬼812
·
2020-02-06 11:44
【年前最后一波装逼】记一次阿里面试,我是如何用一行代码解决
约瑟夫环问题
的
约瑟夫环问题
算是很经典的题了,估计大家都听说过,然后我就在一次笔试中遇到了,下面我就用3种方法来详细讲解一下这道题,最后一种方法学了之后保证让你可以让你装逼。
帅地
·
2020-01-23 09:00
通过例子进阶学习C++(七)CMake项目通过模板库实现约瑟夫环
1.问题描述回顾一下
约瑟夫环问题
:n个人围坐在一个圆桌周围,现在从第s个人开始报数,数到第m个人,让他出局;然后从出局的下一个人重新开始报数,数到第m个人,再让他出局......,如此反复直到所有人全部出局为止
siwei718
·
2020-01-19 07:00
巧解
约瑟夫环问题
100个小孩手拉手围成一圈,从第1个小孩开始报数,数到3出列,下一个小孩继续从1开始报数,循环报数,求最后留在队列中的小孩的位置。这是一道非常经典的算法题,我在面试的时候经常提到这道题。这道题是完全可以通过正向思维解答的,但遗憾的是,在所有面试的人中,几乎没有一个人可以正确地解答这道题。那么,到底要如何解答这道题呢,我们一起来试试看!解法一:生死看淡,不服就干首先,我们尝试用正向思维解答,我们用一
欧阳锋
·
2020-01-06 12:10
使用循环双向链表解
约瑟夫环问题
问题描述:N个人围成一圈,从第一个开始报数,第M个将被杀掉,最后剩下一个,其余人都将被杀掉。例如N=6,M=5,被杀掉的顺序是:5,4,6,2,3,1。源码:#includestructNode{//结点intdata;//数据Node*pred;//前驱Node*succ;//后继};Node*rear;//尾指针Node*head;//头指针intcount=0;//累计器voidInitLi
旗木家的卡卡西
·
2019-12-31 10:21
深入链表数据结构,助你搞定链表算法题
在上一篇文章《巧解
约瑟夫环问题
》中,我们提到了链表。部分同学可能对链表的数据结构还不太熟悉。今天,我们就一起来尝试手写一个链表类实现。然后,再一起来看一看与链表相关的那些算法题。
欧阳锋
·
2019-12-24 07:48
上一页
5
6
7
8
9
10
11
12
下一页
按字母分类:
A
B
C
D
E
F
G
H
I
J
K
L
M
N
O
P
Q
R
S
T
U
V
W
X
Y
Z
其他