题目描述

每年六一儿童节,牛客都会准备一些小礼物去看望孤儿院的小朋友,今年亦是如此。HF作为牛客的资深元老,自然也准备了一些小游戏。其中,有个游戏是这样的:首先,让小朋友们围成一个大圈。然后,他随机指定一个数m,让编号为0的小朋友开始报数。每次喊到m-1的那个小朋友要出列唱首歌,然后可以在礼品箱中任意的挑选礼物,并且不再回到圈中,从他的下一个小朋友开始,继续0…m-1报数…这样下去…直到剩下最后一个小朋友,可以不用表演,并且拿到牛客名贵的“名侦探柯南”典藏版(名额有限哦!!_)。请你试着想下,哪个小朋友会得到这份礼品呢?(注:小朋友的编号是从0到n-1)

如果没有小朋友,请返回-1

解题思路

用list模拟环。

class Solution {
public:int LastRemaining_Solution(int n, int m){if(n<1 || m<1) return -1;list<int> arr;for(int i=0; i<n; i++){arr.push_back(i);}list<int>::iterator cur=arr.begin();while(arr.size()>1){for(int i=0; i<m; i++){cur++;if(cur==arr.end()) cur=arr.begin();}list<int>::iterator next=cur;if(cur==arr.begin()) cur=arr.end()--;--cur;arr.erase(cur);cur=next;}return *(cur);}
};

更优美的解法,来自这里。

class Solution {
public:int LastRemaining_Solution(int n, int m){if(n<1 || m<1) return -1;int last=0;for(int i=2; i<=n; i++){last=(last+m)%i;}return last;}
};

剑指offer:孩子们的游戏(圆圈中最后剩下的数)相关推荐

  1. 剑指offer打卡|圆圈中最后剩下的数

    题目描述 每年六一儿童节,牛客都会准备一些小礼物去看望孤儿院的小朋友,今年亦是如此.HF作为牛客的资深元老,自然也准备了一些小游戏.其中,有个游戏是这样的:首先,让小朋友们围成一个大圈.然后,他随机指 ...

  2. 孩子们的游戏(圆圈中最后剩下的数)

    题目:孩子们的游戏(圆圈中最后剩下的数) 题目描述 每年六一儿童节,牛客都会准备一些小礼物去看望孤儿院的小朋友,今年亦是如此.HF作为牛客的资深元老,自然也准备了一些小游戏.其中,有个游戏是这样的:首 ...

  3. 【算法-剑指 Offer】62. 圆圈中最后剩下的数字(环形链表;约瑟夫环;动态规划)

    剑指 Offer 62. 圆圈中最后剩下的数字 - 力扣(LeetCode) 发布:2021年9月12日12:18:52 问题描述及示例 0,1,···,n-1这n个数字排成一个圆圈,从数字0开始,每 ...

  4. java输出带圆圈数字_java实现孩子们的游戏(圆圈中最后剩下的数)

    题目描述 每年六一儿童节,牛客都会准备一些小礼物去看望孤儿院的小朋友,今年亦是如此.HF作为牛客的资深元老,自然也准备了一些小游戏.其中,有个游戏是这样的:首先,让小朋友们围成一个大圈.然后,他随机指 ...

  5. java名侦探柯南游戏大全_孩子们的游戏(圆圈中最后剩下的数),Java代码实现思路分享...

    下面给大家分享的是一个Java代码实例,下面一起来了解一下吧. 抽象建模能力 题目: 让小朋友们围成一个大圈,之后,随机指定一个数m,让编号为0的小朋友开始报数. 每一次,喊到了m-1的那个小朋友要出 ...

  6. 46. 孩子们的游戏-圆圈中最后剩下的数字

    题目描述: 每年六一儿童节,牛客都会准备一些小礼物去看望孤儿院的小朋友,今年亦是如此.HF作为牛客的资深元老,自然也准备了一些小游戏.其中,有个游戏是这样的:首先,让小朋友们围成一个大圈.然后,他随机 ...

  7. 【剑指offer】_13 圆圈中最后的数

    题目描述 年六一儿童节,牛客都会准备一些小礼物去看望孤儿院的小朋友,今年亦是如此.HF作为牛客的资深元老,自然也准备了一些小游戏.其中,有个游戏是这样的:首先,让小朋友们围成一个大圈.然后,他随机指定 ...

  8. 《剑指offer》-- 栈的压入与弹出序列、把字符串转化为整数、扑克牌顺子、孩子们的游戏(圆圈中最后剩下的数)

    一.栈的压入与弹出序列: 1.题目: 输入两个整数序列,第一个序列表示栈的压入顺序,请判断第二个序列是否可能为该栈的弹出顺序. 假设压入栈的所有数字均不相等.例如序列1,2,3,4,5是某栈的压入顺序 ...

  9. 剑指 Offer II 014. 字符串中的变位词

    剑指 Offer II 014. 字符串中的变位词 题目 示例 解答 题目来源为leetcode 题目 给定两个字符串s1和s2,写一个函数来判断s2是否包含s1的某个变位词. 换句话说,第一个字符串 ...

最新文章

  1. 透过计算机视觉,看看苏伊士运河堵船
  2. 一文读懂深度学习中的矩阵微积分
  3. MPB:湖南师大尹佳组-​乳酸菌益生菌表面粘附能力的检测
  4. netstat常用命令
  5. java中匿名内部类详解_java 中匿名内部类的实例详解
  6. 试验篇--thttpd安装与调试
  7. 远控免杀专题(17)-Python-Rootkit免杀
  8. android P版本ro.build.date时间修改
  9. AC日记——单词替换 1.7 21
  10. javascript语言
  11. 云南公安云计算平台项目获中国优秀云计算开源案例特等奖
  12. Xfce4里添加登录后程序自动运行
  13. 杭电 oj 1006 Tick and Tick 个人题解
  14. CG标准函数库——数学函数(GPU编程与CG语言之阳春白雪下里巴人)
  15. 我在日本最大的房地产信息网站做重构
  16. 安卓修改电池容量教程_手机电池校正 - 安卓最精确的电量校正方法 - iTeknical
  17. Canvas 实用API详解
  18. Ubuntu 16.04 使用校园网客户端上网
  19. 四、完成Teigha.net库对CAD看图的放大/缩小/移动实体等界面操作,图层管理器,以及CAD文件布局的切换功能
  20. AppRTC服务器搭建

热门文章

  1. ansible部署tomcat及 include机制
  2. 阿里巴巴B2B高效研发管理实践
  3. 【整理】JDK MacOS X
  4. Eclipse 安装热部署JRebel
  5. 把XML文件转换为字符串
  6. Ninject依赖注入——构造函数、属性、方法和字段的注入(三)
  7. SQL Server 2008 :安装
  8. 华3r2900g3服务器配置信息,H3C UniServer R2900 G3
  9. python坐标柱染色_Python matplotlib:在数据坐标中定位colorbar
  10. java final private_java – private final static属性vs private final属性