- Question
- Ideas
- 1、Answer( Java )
- Code
剑指 Offer 62. 圆圈中最后剩下的数字
来源:力扣(LeetCode)
链接:https://leetcode-cn.com/problems/yuan-quan-zhong-zui-hou-sheng-xia-de-shu-zi-lcof/
著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。
Ideas 1、Answer( Java )
解法思路:约瑟夫环问题
著名的约瑟夫环问题,是有 数学解法 的
反推的公式 (当前 index + m) % 上一轮剩余数字的个数
约瑟夫环问题详解见如下链接
https://leetcode-cn.com/problems/yuan-quan-zhong-zui-hou-sheng-xia-de-shu-zi-lcof/solution/javajie-jue-yue-se-fu-huan-wen-ti-gao-su-ni-wei-sh/
Code
/**
* @author Listen 1024
* @description 剑指 Offer 62. 圆圈中最后剩下的数字( 约瑟夫环问题 )
* 时间复杂度 O(n)
* 空间复杂度 O(1)
* @date 2022-05-04 16:06
*/
class Solution {
public int lastRemaining(int n, int m) {
int res = 0;
for (int i = 2; i <= n; i++) {
res = (res + m) % i;
}
return res;
}
}
//题解参考链接(如侵删)
https://leetcode-cn.com/problems/yuan-quan-zhong-zui-hou-sheng-xia-de-shu-zi-lcof/solution/javajie-jue-yue-se-fu-huan-wen-ti-gao-su-ni-wei-sh/
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)