0,1,,n-1这n个数字排成一个圆圈,从数字0开始,每次从这个圆圈里删除第m个数字。求出这个圆圈里剩下的最后一个数字。

例如,0、1、2、3、4这5个数字组成一个圆圈,从数字0开始每次删除第3个数字,则删除的前4个数字依次是2、0、4、1,因此最后剩下的数字是3。

题解:https://leetcode-cn.com/problems/yuan-quan-zhong-zui-hou-sheng-xia-de-shu-zi-lcof/solution/huan-ge-jiao-du-ju-li-jie-jue-yue-se-fu-huan-by-as/

我觉得这一篇写的通俗易懂

方法一:递归

//递归public static int lastRemaining1(int n, int m) {if(n <= 1){return 0;}return (lastRemaining1(n - 1 , m) + m) % n;}

方法二:迭代

 public static int lastRemaining2(int n, int m) {int pos = 0;for(int i = 2 ; i <= n ; i++){pos = (pos + m) % i;}return pos;}

来源:力扣(LeetCode)
链接:https://leetcode-cn.com/problems/yuan-quan-zhong-zui-hou-sheng-xia-de-shu-zi-lcof
著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。

打卡系列-剑指 Offer 62. 圆圈中最后剩下的数字相关推荐

  1. 【LeetCode】剑指 Offer 62. 圆圈中最后剩下的数字

    [LeetCode]剑指 Offer 62. 圆圈中最后剩下的数字 文章目录 [LeetCode]剑指 Offer 62. 圆圈中最后剩下的数字 一.动态规划 总结 一.动态规划 构建一个长度为 n ...

  2. java求最后一位不为0的数字_【Java】 剑指offer(62) 圆圈中最后剩下的数字

    本文参考自<剑指offer>一书,代码采用Java语言. 题目 0, 1, -, n-1这n个数字排成一个圆圈,从数字0开始每次从这个圆圈里删除第m个数字.求出这个圆圈里剩下的最后一个数字 ...

  3. 约瑟夫环的问题--剑指 Offer 62. 圆圈中最后剩下的数字

    class Solution {// f(n, m) = (f(n – 1, m) + m) % npublic int lastRemaining(int n, int m) {return (n ...

  4. 90. Leetcode 剑指 Offer 62. 圆圈中最后剩下的数字 (动态规划-基础题)

    步骤一.确定状态: 确定dp数组及含义 dp[i]表示的是i个数里面循环删除m个数剩下的数 步骤二.推断状态方程: 首先假设f(n,m)表示从n个数字0....n−1中每次删除第 m个数字之后剩下的数 ...

  5. 【LeetCode笔记】剑指 Offer 62. 圆圈中最后剩下的数字(Java、约瑟夫环、链表)

    文章目录 题目描述 思路 & 代码 链表模拟法 数学方法 二刷 题目描述 约瑟夫环!题目可太经典了 说实话还是有点难度的= = 思路 & 代码 链表模拟法 第一想法是用 LinkedL ...

  6. 剑指offer:圆圈中最后剩下的数

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

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

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

  8. LeetCode 面试题62. 圆圈中最后剩下的数字 详细题解

    面试题62. 圆圈中最后剩下的数字 难度 简单 0,1,n-1这n个数字排成一个圆圈,从数字0开始,每次从这个圆圈里删除第m个数字.求出这个圆圈里剩下的最后一个数字. 例如,0.1.2.3.4这5个数 ...

  9. 面试题62. 圆圈中最后剩下的数字

    面试题62. 圆圈中最后剩下的数字 思路:f(n,m) = (f(n-1,m)+m)%n.约瑟夫问题 写法1 class Solution { public:int lastRemaining(int ...

最新文章

  1. 死磕 java集合之TreeMap源码分析(一)——红黑树全解析
  2. mysql存储过程获取sqlstate message_text
  3. PHP代码调试神器Whoops
  4. linux exchange邮件客户端,Linux中使用Hiri邮件客户端访问Exchange帐户
  5. 解决子元素和父元素同时触发onclick
  6. UCOS2_STM32移植详细过程(汇总)
  7. 原来 JS 也支持跟 Lua 语意一样的内嵌函数的闭包概念
  8. 多个集合计算笛卡尔积-Python
  9. markdown新手入门使用指南
  10. 支持10秒自毁的新芯片
  11. iOS 4 Background Audio
  12. 安装ORK功能包踩坑之路和解决方案
  13. java xsd解析_java dom4j解析XSD文件
  14. 2021年危险化学品经营单位安全管理人员报名考试及危险化学品经营单位安全管理人员考试资料
  15. MySQL批量查某个库里每张表的数据量
  16. 分销小程序功能有哪些?如何使用分销小程序实现裂变卖货?
  17. 初学者-CSS思维导图(下)
  18. 《C++ Concurrency in Action》笔记28 无锁并行数据结构
  19. 安卓识别exfat_如何使安卓手机能够读写移动硬盘?
  20. 鸿蒙系统vivo能用吗,不是华为手机,也能用上鸿蒙系统

热门文章

  1. Python包下载网址
  2. 如何快速设置CorelDRAW中网格
  3. throttle在程序中的作用
  4. 微信小程序开发入门篇(一)
  5. 随手科技累计用户超3亿 领跑互金App
  6. 区块链对抑制公共部门的腐败有什么作用?
  7. 用Python制作登录界面
  8. matlab控制理论学习
  9. UniRx之操作符详解-ReactiveX语法
  10. 鸿蒙系统自带app分身,哪些手机自带应用分身功能 自带应用分身功能手机推荐...