牛客题霸 [ 环形链表的约瑟夫问题] C++题解/答案

题目描述

据说著名犹太历史学家 Josephus 有过以下故事:在罗马人占领乔塔帕特后,39 个犹太人与 Josephus 及他的朋友躲到一个洞中,39 个犹太人决定宁愿死也不要被敌人抓到,于是决定了一种自杀方式,41 个人排成一个圆圈,由第 1 个人开始报数,报数到 3 的人就自杀,然后再由下一个人重新报 1,报数到 3 的人再自杀,这样依次下去,直到剩下最后一个人时,那个人可以自由选择自己的命运。这就是著名的约瑟夫问题。现在请用单向环形链表得出最终存活的人的编号。

n 表示环形链表的长度, m 表示每次报数到 m 就自杀。

题解:

遍历环形链表,每遍历 m 个节点就删除一个节点,知道链表只剩下一个节点就可以了。

代码:

class Solution {public:/*** * @param n int整型 * @param m int整型 * @return int整型*/int ysf(int n, int m) {// write code hereint a=0;for(int i=2;i<=n;i++){a=(a+m)%i;}return a+1;}
};

牛客题霸 [ 环形链表的约瑟夫问题] C++题解/答案相关推荐

  1. 牛客题霸 单链表的选择排序 C++题解/答案

    牛客题霸 单链表的选择排序 C++题解/答案 题目描述 给定一个无序单链表,实现单链表的选择排序(按升序排序). 题解: 不可能手写排序,这辈子不可能手写排序.. 基础的链表操作,将链表内的数据存到v ...

  2. 牛客题霸 [将字符串转化为整数] C++题解/答案

    牛客题霸 [将字符串转化为整数] C++题解/答案 题目描述 实现函数 atoi .函数的功能为将字符串转化为整数 提示:仔细思考所有可能的输入情况.这个问题没有给出输入的限制,你需要自己考虑所有可能 ...

  3. 牛客题霸 [输出二叉树的右视图] C++题解/答案

    牛客题霸 [输出二叉树的右视图] C++题解/答案 题目描述 请根据二叉树的前序遍历,中序遍历恢复二叉树,并打印出二叉树的右视图 题解: 分两个过程: 先用前序遍历+中序遍历恢复二叉树,这个应该都会. ...

  4. 牛客题霸 [矩阵的最小路径和] C++题解/答案

    牛客题霸 [矩阵的最小路径和] C++题解/答案. 题目描述 给定一个 n * m 的矩阵 a,从左上角开始每次只能向右或者向下走,最后到达右下角的位置,路径上所有的数字累加起来就是路径和,输出所有的 ...

  5. 牛客题霸 [ 求二叉树的层序遍历] C++题解/答案

    牛客题霸 [ 求二叉树的层序遍历] C++题解/答案 题目描述 给定一个二叉树,返回该二叉树层序遍历的结果,(从左到右,一层一层地遍历) 例如: 给定的二叉树是{3,9,20,#,#,15,7}, 该 ...

  6. 牛客题霸 [ 最长回文子串] C++题解/答案

    牛客题霸 [ 最长回文子串] C++题解/答案 题目描述 对于一个字符串,请设计一个高效算法,计算其中最长回文子串的长度. 给定字符串A以及它的长度n,请返回最长回文子串的长度. 题解: 两个方法: ...

  7. 牛客题霸 [三个数的最大乘积]C++题解/答案

    牛客题霸 [三个数的最大乘积]C++题解/答案 题目描述 给定一个无序数组,包含正数.负数和0,要求从中找出3个数的乘积,使得乘积最大,要求时间复杂度:O(n),空间复杂度:O(1). 题解: 有人说 ...

  8. 牛客题霸 [ 旋转数组的最小数字] C++题解/答案

    牛客题霸 [ 旋转数组的最小数字] C++题解/答案 题目描述 把一个数组最开始的若干个元素搬到数组的末尾,我们称之为数组的旋转. 输入一个非递减排序的数组的一个旋转,输出旋转数组的最小元素. NOT ...

  9. 牛客题霸 [ 换钱的最少货币数] C++题解/答案

    牛客题霸 [ 换钱的最少货币数] C++题解/答案 题目描述 给定数组arr,arr中所有的值都为正整数且不重复.每个值代表一种面值的货币,每种面值的货币可以使用任意张,再给定一个aim,代表要找的钱 ...

最新文章

  1. monty python喜剧-Monty Python(蒙提·派森)的成员简介
  2. hihocoder 1127 : 二分图三·二分图最小点覆盖和最大独立集
  3. 除留余数法构造哈希表_哈希表算法原理
  4. SQL Server之索引解析(二)
  5. Scikit-learn 秘籍 翻译完成
  6. 计算机科学与技术导论%1计算机网络,汕头大学计算机专业课程计划
  7. C语言转义字符介绍和示例
  8. 基于MonteCarlo法的经典射击问题中的杀伤概率估计问题
  9. Atitit 常见软件设计图纸总结 目录 1.1. ui原型图与html 2 1.2. 业务逻辑 伪代码 各种uml图 2 1.3. 总体设计图纸 结构图 层次图 架构图 2 1.4. 业务逻辑
  10. ACM算法竞赛入门 概述
  11. 企业成本核算程序是怎样?一般采用什么方法
  12. Ajax读取本地html文件
  13. python在地图上标注点_只要两步,用Python将地址标记在地图上!
  14. 解决Ubuntu 20.04无法播放网页音视频的问题
  15. 【R语言】必学包之lubridate包
  16. xp外观主题下载_增强Windows XP外观的简便方法
  17. Java经典面试题总结(附答案)-java经典面试题大全总结以及整理
  18. SLF4J(六) - MDC/MDCAdapter是什么?
  19. 我花了五个小时的时间,将全部文章详细整理出来了,千万不要错过!
  20. linux上配置zabbix并设置企业微信,机器人以及自主告警

热门文章

  1. 22张令人叹为观止的照片,你所未知的另一面
  2. 按照演算,整个宇宙将会陷入无边的黑暗
  3. 计算机标准符合,计算机专利申请要符合哪些标准
  4. 30屏幕参数_顶级屏幕加持,一加8系列核心配置、屏幕参数官方公布
  5. 女生学高铁和计算机哪个更好,2020铁路最好的5个专业 女生上铁路学什么专业好...
  6. android复选按钮,Android的复选框的详细开发案例分析
  7. ntopng mysql_网络流量监控工具与分析Ntop和Ntopng
  8. 后端返回number类型数据_Javascript基础教程之数据类型 (数值 Number)
  9. msdn画圆弧函数_画直线不简单!python-matplotlib告诉你为什么
  10. [Nginx]nginx常用的命令