约瑟夫环公式:f(N,M)=(f(N-1,M)+M)%N;
1 class Solution { 2 public: 3 int findTheWinner(int n, int k) { 4 // 约瑟夫环:f(N,M)=(f(N-1,M)+M)%N; 5 int last=0;//幸存者的下标最终为0 6 // 进入for循环进行逆推最初位置 7 for(int i=2;i<=n;i++){ 8 last=(last+k)%i; 9 } 10 return last+1; 11 } 12 };