- 题目描述:
图片说明
- 题目链接:
https://www.nowcoder.com/practice/f78a359491e64a50bce2d89cff857eb6?tpId=117&&tqId=37767&rp=1&ru=/activity/oj&qru=/ta/job-code-high/question-ranking

- 设计思想:
图片说明

-视频讲解链接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
};