62.圆圈中最后剩下的数字

南楼画角 提交于 2020-03-02 14:37:17

能想到的就是用一个链表来做这道题,将这些数都放进一个链表中,然后移动,移动到对应数的时候就进行删除,我直接用的java里面的list来做的,可以list.remove()删除某个节点,这里要注意的是,删除也是从第0开始算的,而不是1.还有一个关键是找到每m个数删除一个节点,这里不超出链表最大size的方法就是  (t+m-1)%list.size(),通过求模控制范围一直在n里面。

代码如下:

至于通过数学方法来解这道题,我自己觉得是特殊解法,就没有去了解

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!