LeetCode C++ 剑指 Offer 62. 圆圈中最后剩下的数字【Linked List/Math】简单
发布日期:2021-07-01 02:58:40
浏览次数:2
分类:技术文章
本文共 515 字,大约阅读时间需要 1 分钟。
0,1,n-1这n个数字排成一个圆圈,从数字0开始,每次从这个圆圈里删除第m个数字。求出这个圆圈里剩下的最后一个数字。
例如,0、1、2、3、4这5个数字组成一个圆圈,从数字0开始每次删除第3个数字,则删除的前4个数字依次是2、0、4、1,因此最后剩下的数字是3。
示例 1:
输入: n = 5, m = 3输出: 3
示例 2:
输入: n = 10, m = 17输出: 2
限制:
1 <= n <= 10^5
1 <= m <= 10^6
解法 规律
class Solution { public: int lastRemaining(int n, int m) { int ans = 0; //最后一轮剩下1个人,下标为0,所以从2个人的情况开始反推 for (int i = 2; i <= n; i++) ans = (ans + m) % i; return ans; }};
运行效率如下:
执行用时:4 ms, 在所有 C++ 提交中击败了99.90% 的用户内存消耗:6.2 MB, 在所有 C++ 提交中击败了44.99% 的用户
转载地址:https://memcpy0.blog.csdn.net/article/details/111714354 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!
发表评论
最新留言
网站不错 人气很旺了 加油
[***.192.178.218]2024年05月02日 22时05分50秒
关于作者
喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!
推荐文章
how2heap-fastbin_dup_consolidate
2019-04-30
tf keras SimpleRNN源码解析
2019-04-30
MyBatisPlus简单入门(SpringBoot)
2019-04-30
xss-labs详解(上)1-10
2019-04-30
xss-labs详解(下)11-20
2019-04-30
攻防世界web进阶区ics-04详解
2019-04-30
Linux png转jpg (convert命令)
2019-04-30
vscode git
2019-04-30
CodeForces - 456C Boredom (dp)
2019-04-30
CodeForces - 1042B Vitamins (思维)
2019-04-30
ACM 2013 长沙区域赛 Collision (几何)
2019-04-30
ACM 2014 鞍山区域赛 E - Hatsune Miku (dp)
2019-04-30
反向传播&梯度下降 的直观理解程序(numpy)
2019-04-30
ACM 2017 北京区域赛 J-Pangu and Stones(区间dp)
2019-04-30
java常用类 String面试题
2019-04-30
四线触摸屏原理
2019-04-30
C/C++如何返回一个数组/指针
2019-04-30
腾讯AI语音识别API踩坑记录
2019-04-30
java.net.BindException: 无法指定被请求的地址
2019-05-01