Leetcode3270:求出数字答案
题目描述:
给你三个 正 整数 num1
,num2
和 num3
。
数字 num1
,num2
和 num3
的数字答案 key
是一个四位数,定义如下:
- 一开始,如果有数字 少于 四位数,给它补 前导 0 。
- 答案
key
的第i
个数位(1 <= i <= 4
)为num1
,num2
和num3
第i
个数位中的 最小 值。
请你返回三个数字 没有 前导 0 的数字答案。
代码思路:
这个代码定义了一个名为 Solution
的类,其中包含一个名为 generateKey
的方法。这个方法接收三个整数参数 num1
、num2
和 num3
,并返回一个整数作为结果。下面是该方法的详细思路解释:
- 输入参数:
num1
: 第一个整数。num2
: 第二个整数。num3
: 第三个整数。
- 目标:
- 将这三个整数转换成一个统一的、由它们共同构成的“键”。
- 实现步骤:
- 格式化数字:
- 使用列表推导和字符串格式化函数
f'{num:04}'
将每个数字转换成一个至少四位数的字符串,不足四位的前面补零。这样做的目的是为了确保所有数字在后续处理中有相同的位数,便于字符级别的比较和组合。
- 使用列表推导和字符串格式化函数
- 并行迭代:
- 使用
zip
函数并行迭代这三个格式化后的字符串。zip(*(f'{num:04}' for num in (num1, num2, num3)))
会产生一个迭代器,其中每个元素是一个包含三个字符的元组(分别来自num1
、num2
和num3
在相同位置上的字符)。
- 使用
- 字符级别比较:
- 对于每个元组,使用
min(c)
找到这三个字符中的最小字符(根据 ASCII 码值比较)。这一步实际上是在逐位比较三个数字,选择每个位置上“字典序”最小的字符。
- 对于每个元组,使用
- 合并字符:
- 使用
''.join(...)
将所有选出的最小字符合并成一个新的字符串。
- 使用
- 转换回整数:
- 最后,将这个字符串转换回整数返回。这一步假设生成的字符串表示的是一个有效的整数。
- 格式化数字:
- 示例:
- 假设
num1 = 12
,num2 = 345
,num3 = 67
。 - 格式化后得到
'0012'
,'0345'
,'0067'
。 - 并行迭代并找到最小字符得到
'0012'
(逐位比较:'0'<'0'<'0', '0'<'3'<'0', '1'<'4'<'6', '2'<'5'<'7'`)。 - 合并字符得到
'0012'
。 - 转换回整数得到
12
。
- 假设
代码实现:
class Solution:def generateKey(self, num1: int, num2: int, num3: int) -> int:return int(''.join(min(c) for c in zip(*(f'{num:04}'for num in (num1, num2, num3)))))
相关文章:
Leetcode3270:求出数字答案
题目描述: 给你三个 正 整数 num1 ,num2 和 num3 。 数字 num1 ,num2 和 num3 的数字答案 key 是一个四位数,定义如下: 一开始,如果有数字 少于 四位数,给它补 前导 0 。答案 key 的第 i 个数…...
第十一章 施工监测
11 施工监测 11.1 施工监测主要内容、常用仪器与方法 11.1.1 主要内容 1.目的和意义 及时掌握工程自身及周边环境风险动态、通过分析和预测工程结构及周边环境的安全状态与发展趋势,优化调整设计参数和施工参数提供数据支撑。为今后同类工程施工提供类比资料 2…...
Python爬虫应用领域
Python爬虫作为一种强大的数据获取工具,在多个领域发挥着重要作用。以下是Python爬虫在不同领域的应用情况: 一、数据采集与分析 (一)市场调研 产品信息收集:爬取电商平台的产品详情、价格、销量、用户评价等数据&am…...
软件架构考试基础知识 002:进程的状态与其切换
进程状态转换的说明 在操作系统中,进程的状态表示其当前的执行情况和资源占用情况。进程状态的转换反映了操作系统如何管理和调度进程。以下是进程状态转换的说明: 1. 三态模型(Three-state Model) 三态模型是最基础的进程状态模…...

新车月交付突破2万辆!小鹏汽车“激活”智驾之困待解
首次突破月交付2万辆规模的小鹏汽车,稳吗? 本周,高工智能汽车研究院发布的最新监测数据显示,2024年11月,小鹏汽车在国内市场(不含出口)交付量(上险口径,下同)…...

VideoPlayer插件的功能和用法
文章目录 1. 概念介绍2. 使用方法2.1 实现步骤2.2 具体细节3. 示例代码4. 内容总结我们在上一章回中介绍了"如何获取文件类型"相关的内容,本章回中将介绍如何播放视频.闲话休提,让我们一起Talk Flutter吧。 1. 概念介绍 播放视频是我们常用的功能,不过Flutter官方…...
.NET体系架构
引言 .NET是由微软开发的一个广泛应用的开发平台,旨在帮助开发者构建各种类型的应用程序,包括桌面应用、Web应用、移动应用和云服务。最初,.NET平台的构建主要集中在Windows环境上,但随着.NET Core和随后.NET 5及以上版本的推出&…...
QT中引入OpenCV库总结(qmake方式和cmake方式)
文章目录 前言opencv环境配置一、opencv库获取的两种方式二、qmake和cmake配置2.1、 qmake2.2、cmake2.2.1、引入opencv示例 三、qt与opencv对应关系四、问题 前言 我的软件环境,写在前面 Windows10QT5.12.12VS2017OpenCV4.5.4 opencv环境配置 一、opencv库获取…...
matlab系列专栏-快捷键速查手册
目录 1在命令窗口(Command Window)中 2. 在编辑器(Editor)(m文件)中 1在命令窗口(Command Window)中 1)【↑、↓】——切换到之前、之后运行过的命令,可以重复按多次来达到想要的命令。 2)【Tab】——自动补全。在Command窗口,…...
对于 NestJS + TypeORM 查询构造器分页功能的简单二次封装
NestJS 作为 Node.js 领域备受欢迎的框架,其与 TypeORM 的结合为开发者提供了强大的 ORM 能力,简化了数据库操作。然而,在处理分页查询时,直接在每个服务方法中重复编写分页逻辑既不高效也容易出错。为此,我们可以通过…...
Kafka消息队列出现消息堆积如何解决
Kafka消息队列出现消息堆积,通常是由于消息生产速度远大于消费速度,可能由消费者处理能力不足、网络问题、Kafka配置不合理等原因导致。以下从多个方面介绍应对消息堆积的方法: 消费者端优化 提升消费并行度 增加消费者实例数量:…...
LeetCode hot100-100
287. 寻找重复数 给定一个包含 n 1 个整数的数组 nums ,其数字都在 [1, n] 范围内(包括 1 和 n),可知至少存在一个重复的整数。假设 nums 只有 一个重复的整数 ,返回 这个重复的数 。你设计的解决方案必须 不修改 数组…...

Vue.js:现代前端开发的灵活框架
大家好!我是 [数擎 AI],一位热爱探索新技术的前端开发者,在这里分享前端和 Web3D、AI 技术的干货与实战经验。如果你对技术有热情,欢迎关注我的文章,我们一起成长、进步! 开发领域:前端开发 | A…...

CUDNN详解
文章目录 CUDNN详解一、引言二、cuDNN的基本使用1、初始化cuDNN句柄2、创建和设置描述符 三、执行卷积操作1、设置卷积参数2、选择卷积算法3、执行卷积 四、使用示例五、总结 CUDNN详解 一、引言 cuDNN(CUDA Deep Neural Network library)是NVIDIA为深度…...
下载并安装MySQL
在Linux系统上下载并安装数据库(以MySQL为例)的步骤如下: 一、下载MySQL 访问MySQL官网 打开浏览器,访问MySQL的官方网站:https://www.mysql.com/。 进入下载页面 在MySQL官网首页,找到并点击“Downloads…...
Linux ffmpeg 基础用法
简介 FFmpeg 是一个强大的开源多媒体框架,用于处理视频、音频和其他多媒体文件和流。它允许转换、录制、编辑、流媒体等等。 安装 Debian/Ubuntu sudo apt update sudo apt install ffmpegRed Hat/CentOS sudo dnf install ffmpegmacOS (via Homebrew) brew i…...

【C++入门】详解(中)
目录 💕1.函数的重载 💕2.引用的定义 💕3.引用的一些常见问题 💕4.引用——权限的放大/缩小/平移 💕5. 不存在的空引用 💕6.引用作为函数参数的速度之快(代码体现) Ǵ…...
深度学习的加速器:Horovod,让分布式训练更简单高效!
什么是 Horovod? Horovod 是 Uber 开发的一个专注于深度学习分布式训练的开源框架,旨在简化和加速多 GPU、多节点环境下的训练过程。它以轻量级、易用、高性能著称,特别适合需要快速部署分布式训练的场景。Horovod 的名字来源于俄罗斯传统舞…...
计算机的错误计算(二百零八)
摘要 用两个大模型计算 arccot(0.9911588354432518e10) . 保留16位有效数字。两个的输出均是错误的。代码的输出格式亦均出错。 本节题目为一读者来信提议(不知该题目有何玄机?)。 例1. 计算 arccot(0.9911588354432518e10) . 保留16位有…...

海康机器人IPO,又近了一步
导语 大家好,我是社长,老K。专注分享智能制造和智能仓储物流等内容。欢迎大家到本文底部评论区留言。 海康机器人的IPO之路,一路跌宕起伏,让无数投资者和业内人士关注。这不仅仅是一家企业的上市之旅,更是中国智能制造…...
在rocky linux 9.5上在线安装 docker
前面是指南,后面是日志 sudo dnf config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo sudo dnf install docker-ce docker-ce-cli containerd.io -y docker version sudo systemctl start docker sudo systemctl status docker …...

Cinnamon修改面板小工具图标
Cinnamon开始菜单-CSDN博客 设置模块都是做好的,比GNOME简单得多! 在 applet.js 里增加 const Settings imports.ui.settings;this.settings new Settings.AppletSettings(this, HTYMenusonichy, instance_id); this.settings.bind(menu-icon, menu…...

C++ Visual Studio 2017厂商给的源码没有.sln文件 易兆微芯片下载工具加开机动画下载。
1.先用Visual Studio 2017打开Yichip YC31xx loader.vcxproj,再用Visual Studio 2022打开。再保侟就有.sln文件了。 易兆微芯片下载工具加开机动画下载 ExtraDownloadFile1Info.\logo.bin|0|0|10D2000|0 MFC应用兼容CMD 在BOOL CYichipYC31xxloaderDlg::OnIni…...
《C++ 模板》
目录 函数模板 类模板 非类型模板参数 模板特化 函数模板特化 类模板的特化 模板,就像一个模具,里面可以将不同类型的材料做成一个形状,其分为函数模板和类模板。 函数模板 函数模板可以简化函数重载的代码。格式:templa…...

【分享】推荐一些办公小工具
1、PDF 在线转换 https://smallpdf.com/cn/pdf-tools 推荐理由:大部分的转换软件需要收费,要么功能不齐全,而开会员又用不了几次浪费钱,借用别人的又不安全。 这个网站它不需要登录或下载安装。而且提供的免费功能就能满足日常…...

深度学习水论文:mamba+图像增强
🧀当前视觉领域对高效长序列建模需求激增,对Mamba图像增强这方向的研究自然也逐渐火热。原因在于其高效长程建模,以及动态计算优势,在图像质量提升和细节恢复方面有难以替代的作用。 🧀因此短时间内,就有不…...

FFmpeg avformat_open_input函数分析
函数内部的总体流程如下: avformat_open_input 精简后的代码如下: int avformat_open_input(AVFormatContext **ps, const char *filename,ff_const59 AVInputFormat *fmt, AVDictionary **options) {AVFormatContext *s *ps;int i, ret 0;AVDictio…...
书籍“之“字形打印矩阵(8)0609
题目 给定一个矩阵matrix,按照"之"字形的方式打印这个矩阵,例如: 1 2 3 4 5 6 7 8 9 10 11 12 ”之“字形打印的结果为:1,…...
ArcPy扩展模块的使用(3)
管理工程项目 arcpy.mp模块允许用户管理布局、地图、报表、文件夹连接、视图等工程项目。例如,可以更新、修复或替换图层数据源,修改图层的符号系统,甚至自动在线执行共享要托管在组织中的工程项。 以下代码展示了如何更新图层的数据源&…...

【多线程初阶】单例模式 指令重排序问题
文章目录 1.单例模式1)饿汉模式2)懒汉模式①.单线程版本②.多线程版本 2.分析单例模式里的线程安全问题1)饿汉模式2)懒汉模式懒汉模式是如何出现线程安全问题的 3.解决问题进一步优化加锁导致的执行效率优化预防内存可见性问题 4.解决指令重排序问题 1.单例模式 单例模式确保某…...