题目描述 每年六一儿童节,牛客都会准备一些小礼物去看望孤儿院的小朋友,今年亦是如此。HF作为牛客的资深元老,自然也准备了一些小游戏。其中,有个游戏是这样的:首先,让小朋友们围成一个大圈。然后,他随机指定一个数m,让编号为0的小朋友开始报数。每次喊到m-1的那个小朋友要出列唱首歌,然后可以在礼品箱中任 ...
分类:
其他好文 时间:
2018-02-04 00:25:13
阅读次数:
219
迭代器只有++ ,--,==,!=四种运算方法,不能将iter = iteration+ 1,因为迭代器是指针类型,1是整数类型,不能直接相加赋值给一个指针。 题目描述 每年六一儿童节,牛客都会准备一些小礼物去看望孤儿院的小朋友,今年亦是如此。HF作为牛客的资深元老,自然也准备了一些小游戏。其中,有 ...
分类:
其他好文 时间:
2017-09-09 15:19:16
阅读次数:
117
0,1,...n-1这n个数字排成一个圆圈,从数字0开始每次从这个圆圈里删除第m个数字,求出这个圆圈里剩下的最后一个数字。 ...
分类:
其他好文 时间:
2017-07-26 23:39:16
阅读次数:
179
思路1:环形链表,每次只删除一个数,都从第0个开始。每次都从链表重复遍历,每删除一个,走m步,共n遍 时间O(nm),空间o(n) import java.util.*; public class Solution { public int LastRemaining_Solution(int n, ...
分类:
其他好文 时间:
2017-07-01 17:15:26
阅读次数:
172
一,问题描述 将 0,1,2....n-1 一共n个数字排成一个圆圈。从数字0开始每次从这个圆圈里面删除第m个数字( 1=<m<=n, 比如第1个数字为0)。求出这个圆圈里面最后剩下的那个数字。 二,问题分析 使用java.util.LinkedList类保存这N个数字,并调用 remove(int ...
分类:
其他好文 时间:
2016-10-03 17:10:54
阅读次数:
168
剑指offer第四十五题:圆圈中最后剩下的数字:0,1,..,n-1这n个数排成一个圆圈,从数字0开始每次从圆圈中删除第m个数字。求出圆圈中剩下的最后一个数字(约瑟夫环★) ...
分类:
其他好文 时间:
2016-06-24 20:30:50
阅读次数:
172
题目要求:
0, 1, … , n-1 这 n 个数字排成一个圈,从数字 0 开始每次从这个圈里删除第 m 个数字。求这个圈剩下的最后一个数字。本题是约瑟夫环问题。
除了以下给出的2中解法,更高级的算法:约瑟夫问题的两个O(log n)解法1. 环形链表由于要不断地从圈里删除一个数字,容易想到用链表实现。用链表将这 n 个数字存储,头尾相连,每隔 m 个删除一个,最后剩下的即为结果。
由于...
分类:
其他好文 时间:
2015-07-30 23:27:22
阅读次数:
215
N个人围一圈报数,数到3 退出,最后一个是几号(1)自定义链表typedef struct Node{ int value; struct Node* next;}Node ,*Link;Link creat(int n){ Link node=new Node; node-...
分类:
其他好文 时间:
2015-04-05 23:30:58
阅读次数:
189
问题:n个数字(0,1,…,n-1)形成一个圆圈,从数字0开始,每次从这个圆圈中删除第m个数字(第一个为当前数字本身,第二个为当前数字的下一个数字)。当一个数字删除后,从被删除数字的下一个继续删除第m个数字。求出在这个圆圈中剩下的最后一个数字。分析:试着从数学上分析出一些规律。首先定义最初的n个数字...
分类:
其他好文 时间:
2014-11-14 01:27:37
阅读次数:
154
问题描述:n个数字(下标为0, 1, …, n-1)形成一个圆圈,从数字0开始,每次从这个圆圈中删除第m个数字(当前数字从1开始计数)。当一个数字被删除后,从被删除数字的下一个数字开始计数,继续删除第m个数字。求这个圆圈中剩下的最后一个数字。分析:这是有名的约瑟夫环问题。最直接的方法:使用链表来模拟...
分类:
其他好文 时间:
2014-08-11 17:22:12
阅读次数:
192