【通知】7月22,工业界资深数据科学家教你破解各大公司面试!


一亩三分地论坛

 找回密码
 获取更多干活,快来注册

一亩三分地官方iOS手机应用下载
查看: 533|回复: 3
收起左侧

[编程题] 新人小白求助约瑟夫环问题

[复制链接] |试试Instant~ |关注本帖
liusicong999 发表于 2015-4-6 10:25:54 | 显示全部楼层 |阅读模式

注册一亩三分地论坛,查看更多干货!

您需要 登录 才可以下载或查看,没有帐号?获取更多干活,快来注册

x
有n只猴子,按顺时针方向围成一圈选大王(编号从1到n),从第1号开始报数,一直数到m,数到m的猴子退出圈外,剩下的猴子再接着从1开始报数。就这样,直到圈内只剩下一只猴子时,这个猴子就是猴王,编程求输入n,m后,输出最后猴王的编号。


输入(Input)
[size=1em]输入包含两个整数,第一个是n,第二个是m (1<m,n<=300)。
[size=1em]输出(Output)
[size=1em]输出包含一行,即最后猴王的编号。
[size=1em]如果选用java的循环列表怎么做呢?求各位大神帮忙!非常感谢!(大米回报)

 楼主| liusicong999 发表于 2015-4-6 10:27:04 | 显示全部楼层
关注一亩三分地公众号:
Warald_一亩三分地
希望各位大神能帮一下忙!!
回复 支持 反对

使用道具 举报

kurtwang 发表于 2015-4-6 10:58:52 | 显示全部楼层
关注一亩三分地微博:
Warald
本帖最后由 kurtwang 于 2015-4-6 11:04 编辑

只想到了naive的方法
用arraylist,一直remove直到size==1的时候停止大致就是把1-n加到arraylist里面
然后每次remove掉(m%arraylist.size-1)(减一是因为下标从0开始)
直到arraylist.size==1就可以停止了
时间复杂度大概是nm
回复 支持 反对

使用道具 举报

tailofjune 发表于 2015-4-6 13:10:35 | 显示全部楼层
你都知道这是什么问题了,自己去搜索一下不行吗?
回复 支持 反对

使用道具 举报

本版积分规则

关闭

一亩三分地推荐上一条 /5 下一条

手机版|小黑屋|一亩三分地论坛声明

custom counter

GMT+8, 2017-7-21 10:48

Powered by Discuz! X3

© 2001-2013 Comsenz Inc. Design By HUXTeam

快速回复 返回顶部 返回列表