LeetCode面试题62:圆圈中最后剩下的数字解析详解是怎样的?

2026-06-09 10:153阅读0评论SEO资讯
  • 内容介绍
  • 相关推荐

本文共计772个文字,预计阅读时间需要4分钟。

LeetCode面试题62:圆圈中最后剩下的数字解析详解是怎样的?

题目:给定一个包含数字的圆形排列,这些数字按照0、1、n-1的顺序排列。从数字0开始,每次从这个圆形排列中删除第m个数字。求删除到最后剩下的最后一个数字是多少?

示例:给定圆形排列为:0、1、2、3,m=2,求删除到最后剩下的数字。

步骤:

1.创建一个圆形排列数组,初始化为0、1、2、3。

2.创建一个变量lastNum,初始值为0,表示最后一个删除的数字。

3.循环删除数字,直到只剩下1个数字。

- 找到当前m的位置,即(lastNum + m)% 当前长度。 - 将这个位置的数字删除,更新lastNum为被删除的数字。

4.输出最后一个剩下的数字。


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

难度 简单
0,1,n-1这n个数字排成一个圆圈,从数字0开始,每次从这个圆圈里删除第m个数字。求出这个圆圈里剩下的最后一个数字。
例如,0、1、2、3、4这5个数字组成一个圆圈,从数字0开始每次删除第3个数字,则删除的前4个数字依次是2、0、4、1,因此最后剩下的数字是3。

阅读全文

本文共计772个文字,预计阅读时间需要4分钟。

LeetCode面试题62:圆圈中最后剩下的数字解析详解是怎样的?

题目:给定一个包含数字的圆形排列,这些数字按照0、1、n-1的顺序排列。从数字0开始,每次从这个圆形排列中删除第m个数字。求删除到最后剩下的最后一个数字是多少?

示例:给定圆形排列为:0、1、2、3,m=2,求删除到最后剩下的数字。

步骤:

1.创建一个圆形排列数组,初始化为0、1、2、3。

2.创建一个变量lastNum,初始值为0,表示最后一个删除的数字。

3.循环删除数字,直到只剩下1个数字。

- 找到当前m的位置,即(lastNum + m)% 当前长度。 - 将这个位置的数字删除,更新lastNum为被删除的数字。

4.输出最后一个剩下的数字。


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

难度 简单
0,1,n-1这n个数字排成一个圆圈,从数字0开始,每次从这个圆圈里删除第m个数字。求出这个圆圈里剩下的最后一个数字。
例如,0、1、2、3、4这5个数字组成一个圆圈,从数字0开始每次删除第3个数字,则删除的前4个数字依次是2、0、4、1,因此最后剩下的数字是3。

阅读全文