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

代码:

class Solution {

public int lastRemaining(int n, int m) {

if(n==0||m==0)

{

return -1;

}

List<Integer> list = new ArrayList<>();

for(int i=0;i<n;i++)

{

list.add(i);

}

int x = (m-1)%n;

while(list.size()!=1)

{

list.remove(x);

x = (x+m-1)%list.size();

}

return list.get(0);

}

}

【剑指offer】面试题62:圆圈中最后剩下的数字(Java)相关推荐

  1. 剑指Offer - 面试题62. 圆圈中最后剩下的数字(约瑟夫环 递推公式)

    1. 题目 0,1,-,n-1这n个数字排成一个圆圈,从数字0开始,每次从这个圆圈里删除第m个数字.求出这个圆圈里剩下的最后一个数字. 例如,0.1.2.3.4这5个数字组成一个圆圈,从数字0开始每次 ...

  2. 剑指offer 面试题62. 圆圈中最后剩下的数字

    0,1,,n-1这n个数字排成一个圆圈,从数字0开始,每次从这个圆圈里删除第m个数字.求出这个圆圈里剩下的最后一个数字. 例如,0.1.2.3.4这5个数字组成一个圆圈,从数字0开始每次删除第3个数字 ...

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

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

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

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

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

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

  6. 【剑指offer-Java版】45圆圈中最后剩下的数字

    圆圈中最后剩余的数字:约瑟夫环问题 0-n这n个数字排成一圈,从数字零开始每次从这个圆圈中删除第m个数字,求出剩余的最后一个数字 public class _Q45<T> {// 低效的模 ...

  7. leetcode —— 面试题62. 圆圈中最后剩下的数字

    0,1,n-1这n个数字排成一个圆圈,从数字0开始,每次从这个圆圈里删除第m个数字.求出这个圆圈里剩下的最后一个数字. 例如,0.1.2.3.4这5个数字组成一个圆圈,从数字0开始每次删除第3个数字, ...

  8. 剑指offer:孩子们的游戏(圆圈中最后剩下的数)

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

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

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

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

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

最新文章

  1. Java中书写要注意的地方
  2. Python实现文本自动分类(朴素贝叶斯方法)
  3. 嵌入式笔录(2)-电阻串联与并联
  4. reactjs组件的props属性及其特点
  5. python——zip()、map()、enumerate()、filter()、apply函数
  6. Python安装包的多种方式
  7. ALTOVA XMLSPY使用,建xml文件,构建xpath和XQuery查询,xml和json格式转换
  8. python写入xml文件的方法_python写入xml文件的方法
  9. 揭秘世界最大对撞机:将破解五大科学谜团(图)
  10. NP架构-汇聚层路由器完美选择
  11. 【iMessage苹果推信家庭推】位置推通过苹果实现iMessage群发的Apple script脚本代码如下: tell application “Messages” set csvDatator
  12. Linux 配置网络案例
  13. Excel也能调用HFSS?
  14. Html5中文显示乱码
  15. 使用 break 语句直接强行退出循环
  16. 君子周而不比,小人比而不周
  17. 《Mining of Massive Datasets》读书笔记
  18. 分享10款小白也能做起来的平衡车设计资料
  19. linux操作系统面试题及答案
  20. BFS、双向BFS和A*

热门文章

  1. python官方的扩展索引_Python列表操作与深浅拷贝(6)——列表索引、查询、修改、扩展...
  2. Django后端编辑图片提取主要颜色API
  3. Linux搭建高并发高可用Redis集群
  4. 什么?!“路由器”也会做信息抽取了?
  5. 戴着口罩也要开心过年吖!
  6. 深度学习在美团配送ETA预估中的探索与实践 1
  7. 开源开放 | DeepKE发布新版本:支持低资源、长篇章、多任务的图谱抽取开源框架(浙江大学)...
  8. 大话知识图谱--构建知识图谱第一步定义数据模型
  9. 文本纠错pycorrector
  10. 快速理解bootstrap,bagging,boosting-三个概念