【华为机试】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. 将找到的小时和分钟转换为字符串格式并返回。

六、参考代码 

# -*- 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, defaultdictdef next_time(time):# 将输入的时间字符串转换为整数表示的小时和分钟hour, minute = map(int, time.split(':'))# 将小时和分钟的每一位数字添加到一个集合中digits = set(time.replace(':', ''))while True:# 每分钟增加1minute += 1# 如果分钟数增加到60,那么小时数增加1,分钟数归0if minute == 60:minute = 0hour += 1# 如果小时数增加到24,那么小时数归0if hour == 24:hour = 0# 将小时和分钟转换为字符串格式time = f'{hour:02d}:{minute:02d}'# 如果增加后的小时和分钟的每一位数字都在集合中,那么这就是下一个可能的犯罪时间if set(time.replace(':', '')) <= digits:return timetime = input()
result = next_time(time)
print(result)

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/309905.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

线程数据共享和安全 -ThreadLocal

什么是 ThreadLocal ThreadLocal 的作用&#xff0c;可以实现在同一个线程数据共享, 从而解决多线程数据安全问题. 2. ThreadLocal 可以给当前线程关联一个数据(普通变量、对象、数组)set 方法 [源码!]ThreadLocal 可以像 Map 一样存取数据&#xff0c;key 为当前线程, get 方…

【23.12.30高可用篇】什么是SLA?

什么是SLA&#xff1f; ✔️简述✔️拓展知识✔️4个9、5个9 ✔️简述 SLA是Service Level Agreement的缩写&#xff0c;意为服务等级协议。它是指供应商和客户之间达成的一份正式协议&#xff0c;规定了供应商应该向客户提供的服务水平、质量、可靠性和响应时间等指标。 SLA通…

分布式技术之分布式数据存储系统

文章目录 什么是分布式数据存储系统&#xff1f;分布式数据存储系统三要素顾客&#xff1a;生产和消费数据导购&#xff1a;确定数据位置货架&#xff1a;存储数据 CAP 理论指出&#xff0c;在分布式系统中&#xff0c;不能同时满足一致性、可用性和分区容错性&#xff0c;指导…

Windows系统下如何运行.sh脚本文件

前言&#xff1a; .sh文件是一种命令脚本文件&#xff0c;在Windows系统下可以通过命令行工具打开运行。通常可以使用Git工具来打开运行.sh脚本文件。不过很多第一次使用Git的人&#xff0c;可能对Git工具不熟悉。.sh文件在命令行运行时是有固定写法的&#xff0c;下面介绍详细…

HDMI2.1输入转4Port MIPI/LVDS输出,嵌入式SPI闪存固件存储,VR和AR应用首选国产芯片方案-LT6911GXC

描述 LT6911GXC是一款高性能的HDMI2.1到MIPI或LVDS芯片&#xff0c;用于VR/显示应用。 HDCP RX作为HDCP中继器的上游&#xff0c;可配合其他芯片的HDCPTX实现中继器功能。 对于HDMI2.1输入&#xff0c;LT6911GXC可以配置为3/4通道。自适应均衡使其适合于长电缆应用&#xff0c;…

基于OpenAI的Whisper构建的高效语音识别模型:faster-whisper

1 faster-whisper介绍 faster-whisper是基于OpenAI的Whisper模型的高效实现&#xff0c;它利用CTranslate2&#xff0c;一个专为Transformer模型设计的快速推理引擎。这种实现不仅提高了语音识别的速度&#xff0c;还优化了内存使用效率。faster-whisper的核心优势在于其能够在…

9个格子3个点的不同分布占比

直线上有9个格子&#xff0c;有3个点&#xff0c;可能有10种分布方式 数量 编号 7 0 1 1 1 0 0 0 0 0 0 6 2 1 0 1 1 0 0 0 0 0 6 1 1 1 0 1 0 0 0 0 0 5 6 1 0 0 1 1 0 0 0 0 5 3 1 1 0 0 1 0 0 0 0 5 4 1 0 1 …

车企大佬们这“七宗罪”,正在拖『软件定义汽车』的后腿!

交流群 | 进“传感器群/滑板底盘群/汽车基础软件群/域控制器群”请扫描文末二维码&#xff0c;添加九章小助手&#xff0c;务必备注交流群名称 真实姓名 公司 职位&#xff08;不备注无法通过好友验证&#xff09; “在车企的决策链上级别越高的领导&#xff0c;越不理解软件…

黑马程序员SSM框架-SpringMVC

课程链接&#xff1a;SpringMVC-01-SpringMVC简介_哔哩哔哩_bilibili SpringMVC简介 表现层框架 概述 入门案例 入门案例工作流程 SpringMVC对应的bean加载和Spring对应的bean加载 我们发现SpringMVC要加载controller的bean对象&#xff0c;Spring容器要加载除了controller类…

阿里开源大模型 Qwen-72B 私有化部署

近期大家都知道阿里推出了自己的开源的大模型千问72B&#xff0c;据说对于中文非常友好&#xff0c;在开源模型里面&#xff0c;可谓是名列前茅。 千问拥有有强大的基础语言模型&#xff0c;已经针对多达 3 万亿个 token 的多语言数据进行了稳定的预训练&#xff0c;覆盖领域、…

理解ByteBuffer

Buffer 的使用 我们通过 Java 中 NIO 包中实现的 Buffer 来给大家讲解&#xff0c;Buffer 总共有 7 种实现&#xff0c;就包含了 Java 中实现的所有数据类型。 本篇文章中&#xff0c;我们使用的是 ByteBuffer&#xff0c;其常用的方法都有&#xff1a; putgetfliprewindmark…

递归详解之青蛙跳台阶和汉诺塔问题

&#x1d649;&#x1d65e;&#x1d658;&#x1d65a;!!&#x1f44f;&#x1f3fb;‧✧̣̥̇‧✦&#x1f44f;&#x1f3fb;‧✧̣̥̇‧✦ &#x1f44f;&#x1f3fb;‧✧̣̥̇:Solitary-walk ⸝⋆ ━━━┓ - 个性标签 - &#xff1a;来于“云”的“羽球人”。…