2023-08-16力扣每日一题

链接:

2682. 找出转圈游戏输家

题意:

环形1到n,从1开始,每次移动 第i次*k ,当移动到出现过的序号时停下,

求没移动到的数字

解:

简单模拟题,我也以为有数学做法,可恶

实际代码:

c++ 复制代码
#include<bits/stdc++.h>
using namespace std;
vector<int> circularGameLosers(int n, int k)
{
    set<int>get;get.insert(1);
    vector<int>ans;
    int now=1,nextMove=k;
    while(true)
    {
        now=(now+nextMove-1)%n+1;
        if(get.count(now)==1) break;
        get.insert(now);
        nextMove+=k;
    }
    //cout<<endl;
    for(int i=1;i<=n;i++) if(get.count(i)==0) ans.push_back(i);
    return ans;
}
int main()
{
    int n,k;cin>>n>>k;
    vector<int>ans=circularGameLosers(n,k);
    for(auto& a:ans) cout<<a<<endl;
    return 0;
}

限制:

  • 1 <= k <= n <= 50
相关推荐
文丑颜不良啊2 小时前
LeetCode2081~2100题目解析
java·leetcode
文丑颜不良啊4 小时前
LeetCode2061~2080题目解析
java·leetcode
文丑颜不良啊16 小时前
LeetCode1941~1960题目解析
java·leetcode
文丑颜不良啊21 小时前
LeetCode1961~1980题目解析
java·leetcode
文丑颜不良啊21 小时前
LeetCode2001~2020题目解析
java·leetcode
文丑颜不良啊1 天前
LeetCode2021~2040题目解析
java·leetcode
Nuanyt2 天前
LeetCode Hot 100 链表专题(五)· 2 题(Java)
java·算法·leetcode·链表
圣保罗的大教堂2 天前
leetcode 3736. 最小操作次数使数组元素相等 III 简单
leetcode
文丑颜不良啊2 天前
LeetCode1881~1990题目解析
java·leetcode