通过率 54% · 提交 316 · 通过 170
小慕正在组织一个聚会,大家围成一圈玩“喊7”的游戏。一共有N个人,按顺时针方向从1到N编号。编号为1的人开始从1喊数,之后每个人喊的数字是前一个人喊的数字加1。但是,如果即将喊出的数字是7的倍数,或者数字本身包含数字7,就不能直接喊出这个数字,而要喊“过”。假设所有参与者都没有失误,总能在正确的时机喊出“过”。当游戏进行到喊到数字K时,可以统计出每个人。 现在,小慕拿到一个长度为N的数组,里面存储了的每个人喊“过”的次数。请你帮小慕把这个数组还原成正确的顺序,即数组的第i个元素对应编号为i的人喊“过”的次数。
这类题属于华为 OD 机考真题方向中「100分 / 2024E」方向的高频题型,通常考察对「100分 / 2024E」的建模能力与边界条件处理。掌握本题的解题思路后,可举一反三应对同类真题方向,稳步提升机考通过率。
提示:带虚线的词点一下有通俗解释。
输入为一行,为空格分隔的喊"过"的次数,注意K并不提供,K不超过200,而数字的个数即为N。
输出为一行,为顺序正确的喊"过"的次数,也由空格分隔。
示例 1
输入示例
0 1 0
输出示例
1 0 0
一共只有一次喊"过",那只会发生在需要喊7时,按顺序,编号为1的人会遇到7,故输出1 0 0。 注意,结束时的K不一定是7,也可以是8、9等,喊过的次数都是1 0 0。
示例 2
输入示例
0 0 0 2 1
输出示例
0 2 0 1 0
一共有三次喊"过",发生在7 14 17,按顺序,编号为2的人会遇到7 17,编号为4的人会遇到14,故输出0 2 0 1 0。
时间限制 1000 ms · 内存限制 128 MB
本平台为独立第三方培训机构,与华为技术有限公司无任何关联;课程的服务内容与权益以购买协议为准,学习效果因个人情况而异。「华为 OD」「华为可信」等仅为对岗位与考试方向的客观描述,相关商标归各自权利人所有。
登录后可查看你在本题的历史提交,以及每次的各用例通过情况。
© 2026 广州慕课网络科技有限公司 · 吴师兄学算法官网 版权所有