【华为机试】2023年真题B卷(python)-喊七的次数重排

一、题目

题目描述:

喊7是一个传统的聚会游戏,N个人围成一圈,按顺时针从1到N编号。

编号为1的人从1开始喊数,下一个人喊的数字为上一个人的数字加1,但是当将要喊出来的数字是7的倍数或者数字本身含有7的话,不能把这个数字直接喊出来,而是要喊"过"。

假定玩这个游戏的N个人都没有失误地在正确的时机喊了"过",当喊到数字K时,可以统计每个人喊"过"的次数。

现给定一个长度为N的数组,存储了打乱顺序的每个人喊"过"的次数,请把它还原成正确的顺序,即数组的第i个元素存储编号i的人喊"过"的次数。

二、输入输出

输入描述:

输入为一行,为空格分隔的喊"过"的次数,注意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。

四、要求

时间限制:C/C++ 1秒,其他语言 2秒

空间限制:C/C++262144K,其他语言524288K

五、参考代码

python 复制代码
# -*- coding: utf-8 -*-
'''
@File    :   2023-B-喊七的次数重排.py
@Time    :   2023/12/29 19:10:31
@Author  :   mgc 
@Version :   1.0
@Desc    :   None
'''

# import os
# import re
# import sys
# import copy
# import math
# import queue
# import functools
# from queue import Queue
# from collections import Counter, defaultdict

def restore_order(nums):
    length = len(nums)  # 数字列表的长度
    total = sum(nums)  # 计算数字列表的总和

    arr = [0] * length  # 初始化结果列表,存储每个人喊过的次数
    count = 7

    while total > 0:
        if count % 7 == 0 or '7' in str(count):
            arr[(count - 1) % length] += 1
            total -= 1
        count += 1

    result = ' '.join(map(str, arr))  # 将结果列表转换为字符串
    return result


# 主程序
nums = [int(x) for x in input().split()]
result = restore_order(nums)
print(result)
相关推荐
土司大王6 小时前
LeetCode hot100——对称二叉树
算法·leetcode·职场和发展
青 春 记 忆6 小时前
零基础入门python30:Flask个人账本从空目录运行与阶段验收
python·flask·后端开发
sali-tec6 小时前
C# 基于OpenCv的视觉工作流-章106-差值追踪
图像处理·人工智能·opencv·算法·计算机视觉
Navigator_Z6 小时前
LeetCode //C - 1208. Get Equal Substrings Within Budget
c语言·算法·leetcode
l1258657 小时前
# LangGraph Memory机制深度解析:短期记忆与长期记忆的工程实践
前端·人工智能·python·langchain·bootstrap
手写码匠7 小时前
Dify 多 Agent 工具权限与安全沙箱实战:让智能体“有能力,但不越权“
人工智能·深度学习·算法·aigc
黎阳之光7 小时前
打破堆场感知黑盒:黎阳之光视频孪生,构建港口码头网格化透明管控新体系
大数据·人工智能·算法·安全·数字孪生
大模型码小白7 小时前
AI 对话流性能调优:万级消息的虚拟滚动落地
java·大数据·前端·javascript·人工智能·算法·机器学习
金銀銅鐵8 小时前
斐波那契数列的个位数出现的周期是多少?
python·数学
sel_98 小时前
【多轮对话论文导读(三)】多轮对话与Agent论文阅读笔记:用户模拟、轨迹生成与长期记忆
论文阅读·人工智能·笔记·深度学习·算法·机器学习