博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
孩子们的游戏(圆圈中最后剩下的数)
阅读量:6329 次
发布时间:2019-06-22

本文共 847 字,大约阅读时间需要 2 分钟。

每年六一儿童节,牛客都会准备一些小礼物去看望孤儿院的小朋友,今年亦是如此。HF作为牛客的资深元老,自然也准备了一些小游戏。其中,有个游戏是这样的:首先,让小朋友们围成一个大圈。然后,他随机指定一个数m,让编号为0的小朋友开始报数。每次喊到m-1的那个小朋友要出列唱首歌,然后可以在礼品箱中任意的挑选礼物,并且不再回到圈中,从他的下一个小朋友开始,继续0...m-1报数....这样下去....直到剩下最后一个小朋友,可以不用表演,并且拿到牛客名贵的“名侦探柯南”典藏版(名额有限哦!!^_^)。请你试着想下,哪个小朋友会得到这份礼品呢?(注:小朋友的编号是从0到n-1)

public class Solution {    public int LastRemaining_Solution(int n, int m) {        if (m<1 || n<1) {            return -1;        }        int[] arr = new int[n];        int i = -1, step = 0, cnt = n;        while (cnt > 0) {            i ++;            if (i >= n)                i = 0;            if (arr[i] == -1)                continue;            step ++;            if (step == m) {                arr[i] = -1;                step = 0;                cnt --;            }        }        return i;    }}

 

转载于:https://www.cnblogs.com/wxisme/p/5831869.html

你可能感兴趣的文章
春运里的铁路桥梁工:攀爬检查犹如“蜘蛛侠”
查看>>
第91届奥斯卡公布入围名单 四名华裔电影人入围
查看>>
安徽现首套被动房 可自主“呼吸”
查看>>
冬训成果何在?林丹无缘新赛季首冠状态成迷
查看>>
一个连区块链是什么都不知道的财经“专家”也敢谈比特币是泡沫?
查看>>
程序员面试被要求手写代码,你与顶级程序员的差别在哪?
查看>>
JavaScript是如何工作的: CSS 和 JS 动画底层原理及如何优化它们的性能
查看>>
Async/Await替代Promise的6个理由
查看>>
谁用光了磁盘?Docker System命令详解
查看>>
Android App性能优化[译]
查看>>
自然语言处理的语义建模介绍
查看>>
菜鸟学数据库——WAL模式及其原理
查看>>
微信小程序有旋转动画效果的音乐组件
查看>>
更大的块和更智能的合同:比特币现金的下一个叉子是什么?
查看>>
NODE Stream流总结(2)
查看>>
2018深圳云栖拉开帷幕,飞天技术汇五大专场邀你参加~
查看>>
聊聊sentinel的DataSource
查看>>
Maven的聚合模块和继承
查看>>
ELK的心脏,ElasticSearch学习方法论
查看>>
认识微服务
查看>>