【剑指offer】面试题62:圆圈中最后剩下的数字(Java)
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)相关推荐
- 剑指Offer - 面试题62. 圆圈中最后剩下的数字(约瑟夫环 递推公式)
1. 题目 0,1,-,n-1这n个数字排成一个圆圈,从数字0开始,每次从这个圆圈里删除第m个数字.求出这个圆圈里剩下的最后一个数字. 例如,0.1.2.3.4这5个数字组成一个圆圈,从数字0开始每次 ...
- 剑指offer 面试题62. 圆圈中最后剩下的数字
0,1,,n-1这n个数字排成一个圆圈,从数字0开始,每次从这个圆圈里删除第m个数字.求出这个圆圈里剩下的最后一个数字. 例如,0.1.2.3.4这5个数字组成一个圆圈,从数字0开始每次删除第3个数字 ...
- 面试题62. 圆圈中最后剩下的数字
面试题62. 圆圈中最后剩下的数字 思路:f(n,m) = (f(n-1,m)+m)%n.约瑟夫问题 写法1 class Solution { public:int lastRemaining(int ...
- LeetCode 面试题62. 圆圈中最后剩下的数字 详细题解
面试题62. 圆圈中最后剩下的数字 难度 简单 0,1,n-1这n个数字排成一个圆圈,从数字0开始,每次从这个圆圈里删除第m个数字.求出这个圆圈里剩下的最后一个数字. 例如,0.1.2.3.4这5个数 ...
- leetcode 面试题62. 圆圈中最后剩下的数字
面试题62. 圆圈中最后剩下的数字 0,1,,n-1这n个数字排成一个圆圈,从数字0开始,每次从这个圆圈里删除第m个数字.求出这个圆圈里剩下的最后一个数字. 例如,0.1.2.3.4这5个数字组成一个 ...
- 【剑指offer-Java版】45圆圈中最后剩下的数字
圆圈中最后剩余的数字:约瑟夫环问题 0-n这n个数字排成一圈,从数字零开始每次从这个圆圈中删除第m个数字,求出剩余的最后一个数字 public class _Q45<T> {// 低效的模 ...
- leetcode —— 面试题62. 圆圈中最后剩下的数字
0,1,n-1这n个数字排成一个圆圈,从数字0开始,每次从这个圆圈里删除第m个数字.求出这个圆圈里剩下的最后一个数字. 例如,0.1.2.3.4这5个数字组成一个圆圈,从数字0开始每次删除第3个数字, ...
- 剑指offer:孩子们的游戏(圆圈中最后剩下的数)
题目描述 每年六一儿童节,牛客都会准备一些小礼物去看望孤儿院的小朋友,今年亦是如此.HF作为牛客的资深元老,自然也准备了一些小游戏.其中,有个游戏是这样的:首先,让小朋友们围成一个大圈.然后,他随机指 ...
- 【LeetCode】剑指 Offer 62. 圆圈中最后剩下的数字
[LeetCode]剑指 Offer 62. 圆圈中最后剩下的数字 文章目录 [LeetCode]剑指 Offer 62. 圆圈中最后剩下的数字 一.动态规划 总结 一.动态规划 构建一个长度为 n ...
- 【算法-剑指 Offer】62. 圆圈中最后剩下的数字(环形链表;约瑟夫环;动态规划)
剑指 Offer 62. 圆圈中最后剩下的数字 - 力扣(LeetCode) 发布:2021年9月12日12:18:52 问题描述及示例 0,1,···,n-1这n个数字排成一个圆圈,从数字0开始,每 ...
最新文章
- Java中书写要注意的地方
- Python实现文本自动分类(朴素贝叶斯方法)
- 嵌入式笔录(2)-电阻串联与并联
- reactjs组件的props属性及其特点
- python——zip()、map()、enumerate()、filter()、apply函数
- Python安装包的多种方式
- ALTOVA XMLSPY使用,建xml文件,构建xpath和XQuery查询,xml和json格式转换
- python写入xml文件的方法_python写入xml文件的方法
- 揭秘世界最大对撞机:将破解五大科学谜团(图)
- NP架构-汇聚层路由器完美选择
- 【iMessage苹果推信家庭推】位置推通过苹果实现iMessage群发的Apple script脚本代码如下: tell application “Messages” set csvDatator
- Linux 配置网络案例
- Excel也能调用HFSS?
- Html5中文显示乱码
- 使用 break 语句直接强行退出循环
- 君子周而不比,小人比而不周
- 《Mining of Massive Datasets》读书笔记
- 分享10款小白也能做起来的平衡车设计资料
- linux操作系统面试题及答案
- BFS、双向BFS和A*
热门文章
- python官方的扩展索引_Python列表操作与深浅拷贝(6)——列表索引、查询、修改、扩展...
- Django后端编辑图片提取主要颜色API
- Linux搭建高并发高可用Redis集群
- 什么?!“路由器”也会做信息抽取了?
- 戴着口罩也要开心过年吖!
- 深度学习在美团配送ETA预估中的探索与实践 1
- 开源开放 | DeepKE发布新版本:支持低资源、长篇章、多任务的图谱抽取开源框架(浙江大学)...
- 大话知识图谱--构建知识图谱第一步定义数据模型
- 文本纠错pycorrector
- 快速理解bootstrap,bagging,boosting-三个概念