题目描述
0,1,……,n-1这n个数字排成一个圆圈,从数字0开始每次从这个圆圈里删除第m个数字。求出这个圆圈里剩下的最后一个数字。
实验平台:牛客网
解决思路:
这题用了2种方法解答:第一种是通过链表实现的,用链表模拟一个环形链表,当到达链表末尾的时候,如果没有到达第m个数字,则又从链表的头开始扫描,这种算法的时间复杂度是O(mn);第二种方法是通过数学规律解答的,思路如下图:
0,1,……,n-1这n个数字排成一个圆圈,从数字0开始每次从这个圆圈里删除第m个数字。求出这个圆圈里剩下的最后一个数字。
实验平台:牛客网
这题用了2种方法解答:第一种是通过链表实现的,用链表模拟一个环形链表,当到达链表末尾的时候,如果没有到达第m个数字,则又从链表的头开始扫描,这种算法的时间复杂度是O(mn);第二种方法是通过数学规律解答的,思路如下图: