牛客题霸NC132环形链表的约瑟夫问题Java题解
方法:利用数学公式反推
解题思路:反推过程:(当前index + m) % 上一轮剩余数字的个数。
import java.util.*;
public class Solution {
/**
*
* @param n int整型
* @param m int整型
* @return int整型
*/
public int ysf (int n, int m) {
int res = 0;
//最后一轮剩下2个人,所以从2开始反推
for (int i = 2; i <= n; i++) {
res = (res + m) % i;
}
return res+1;
}
}

320

被折叠的 条评论
为什么被折叠?



