【华为机试】2023年真题B卷(python)-解密犯罪时间

一、题目

题目描述:

警察在侦破一个案件时,得到了线人给出的可能犯罪时间,形如 "HH:MM" 表示的时刻。

根据警察和线人的约定,为了隐蔽,该时间是修改过的,解密规则为:

利用当前出现过的数字,构造下一个距离当前时间最近的时刻,则该时间为可能的犯罪时间。

每个出现数字都可以被无限次使用。

二、输入输出

输入描述:

形如HH:SS字符串,表示原始输入。
输出描述:

形如HH:SS的字符串,表示推理处理的犯罪时间。

备注:

1.可以保证现任给定的字符串一定是合法的。

例如,"01:35"和"11:08"是合法的,"1:35"和"11:8"是不合法的。

2.最近的时刻可能在第二天。

三、示例

示例

20:12得到20:20

23:59得到22:22

12:58得到15:11

18:52得到18:55

23:52得到23:53

09:17得到09:19

07:08得到08:00

四、要求

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

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

五、解题思路

  1. 将输入的时间字符串转换为整数表示的小时和分钟。
  2. 将小时和分钟的每一位数字添加到一个集合中,表示可以使用的数字。
  3. 从当前分钟开始,每分钟增加1,如果增加后的分钟数的每一位数字都在集合中,那么这就是下一个可能的犯罪时间。
  4. 如果分钟数增加到60,那么小时数增加1,分钟数归0。如果小时数增加到24,那么小时数归0。
  5. 将找到的小时和分钟转换为字符串格式并返回。

六、参考代码

python 复制代码
# -*- coding: utf-8 -*-
'''
@File    :   2023-B-解密犯罪时间.py
@Time    :   2023/12/30 00:25:01
@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 next_time(time):
    # 将输入的时间字符串转换为整数表示的小时和分钟
    hour, minute = map(int, time.split(':'))
    # 将小时和分钟的每一位数字添加到一个集合中
    digits = set(time.replace(':', ''))
    while True:
        # 每分钟增加1
        minute += 1
        # 如果分钟数增加到60,那么小时数增加1,分钟数归0
        if minute == 60:
            minute = 0
            hour += 1
            # 如果小时数增加到24,那么小时数归0
            if hour == 24:
                hour = 0
        # 将小时和分钟转换为字符串格式
        time = f'{hour:02d}:{minute:02d}'
        # 如果增加后的小时和分钟的每一位数字都在集合中,那么这就是下一个可能的犯罪时间
        if set(time.replace(':', '')) <= digits:
            return time

time = input()
result = next_time(time)
print(result)
相关推荐
紫小米6 小时前
后端日志管理
python·fastapi
IT大白鼠6 小时前
AIGC性能的关键瓶颈:算力、数据、算法三者如何互相制约?
算法·aigc
白雪茫茫7 小时前
监督学习、半监督学习、无监督学习算法详解
python·学习·算法·ai
FengyunSky7 小时前
浅析 空间频率响应 SFR 计算
算法
つ安静与叛逆的小籹人7 小时前
小红书API:通过笔记ID获取笔记详情数据教程
笔记·python
树下水月7 小时前
PHP 一种改良版的雪花算法
算法·php·dreamweaver
05候补工程师7 小时前
[实战复盘] 拒绝 AI 屎山!我从设计模式中学到的“调教”AI 新范式
人工智能·python·设计模式·ai·ai编程
一只数据集8 小时前
全尺寸人形机器人灵巧手力觉触觉数据集-2908条ROSbag数据覆盖14大应用场景深度解析
大数据·人工智能·算法·机器人
罗西的思考9 小时前
【GUI-Agent】阿里通义MAI-UI 代码阅读(2)--- 实现
人工智能·算法·机器学习
阿豪只会阿巴9 小时前
【没事学点啥】TurboBlog轻量级个人博客项目——项目介绍
javascript·python·django·html