首先,题目中说有n个人进行排序,这就表示n应该是一个可以控制的变量,也就是由用户输入的变量;其次,题目还说“凡报到 3 的人退出圈子”,这就表示每触发这个条件都会有一个特定的人被淘汰,那么我们就可以先建立一个长度为n的boolean的数组,通过下标来进行淘汰操作,如下图:
将新建立的arr数组中的元素全部设立为true,,当遇到报到3的人的时候通过下标,将false赋值给当前这个人的位置,如下图
最后,再通过循环和下标来找出最后剩下人最开始的序号,如下图
总结: 这道题目对于目前的我来说虽然是有一定难度的,但只要想清楚其中的关键,也就是下标归零这一点的话,其实也算不上太难。
n个人围成一圈,顺序排号。从第一个人开始报数(从 1 到 3 报数), 凡报到 3 的人退出圈子,剩下的人继续报数,最后留下的人是原来的第几位
最新推荐文章于 2022-09-26 21:30:27 发布