- 设计思想:
-视频讲解链接B站视频讲解
- 复杂度分析:
- 代码:
c++版本:
class Solution { public: int LastRemaining_Solution(int n, int m) { if(n <= 0) return -1;//特殊点 if (n == 1) return 0;//只有一个娃娃的时候 int res = 0;//结果 for(int i = 2;i <= n;i ++){ res = (res + m) % i;//视频中推出的公式 } return res; } };
Java版本:
public class Solution { public int LastRemaining_Solution(int n, int m) { if(n <= 0) return -1;//特殊点 if (n == 1) return 0;//只有一个娃娃的时候 int res = 0;//结果 for(int i = 2;i <= n;i ++){ res = (res + m) % i;//视频中推出的公式 } return res; } }
Python版本:
# -*- coding:utf-8 -*- class Solution: def LastRemaining_Solution(self, n, m): # write code here if n <= 0: return -1#特殊点 if n == 1: return 0#只有一个娃娃的时候 res = 0#结果 for i in range(2,n+1): res = (res + m) % i#视频中推出的公式 return res
JavaScript版本:
function LastRemaining_Solution(n, m) { // write code here if(n <= 0) return -1;//特殊点 if (n == 1) return 0;//只有一个娃娃的时候 let res = 0;//结果 for(let i = 2;i <= n;i ++){ res = (res + m) % i;//视频中推出的公式 } return res; } module.exports = { LastRemaining_Solution : LastRemaining_Solution };