[力扣活动]面试题62. 圆圈中最后剩下的数字

<思维> <递推> <关注点>

题目描述


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

限制:

  • 1 <= n <= 10^5
  • 1 <= m <= 10^6

题解 


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/

总结


1. 遇到这样的题目,勤快点手写写画画模拟的过程,从中找到规律。

2. 专注于存活的人的下标,从而找到规律

3. 反向思维,自下而上的递推

猜你喜欢

转载自www.cnblogs.com/remly/p/12605133.html