一、若是经过环形列表去模拟圆圈的话,最后时间复杂度为O(mn),并且还须要一个辅助链表来模拟圆圈,空间复杂度为O(n)。spa
二、经过找出递推公式的方法,求得递推公式为code
时间复杂度为O(n),空间复杂度为O(1)。blog
#include<stdio.h> int LastRemaining(int n,int m) { if(n<1 || m<1) return 0; int last=0; for (int i=2;i<=n;i++) { last=(last+m)%i; } return last; } int main() { printf("%d\n",LastRemaining(12,2)); return 0; }