Python解决“数字插入”问题
Python解决“数字插入”问题
- 问题描述
- 测试样例
- 解题思路
- 代码
问题描述
小U手中有两个数字 a 和 b。第一个数字是一个任意的正整数,而第二个数字是一个非负整数。她的任务是将第二个数字 b 插入到第一个数字 a 的某个位置,以形成一个最大的可能数字。
你需要帮助小U找到这个插入位置,输出插入后的最大结果。
测试样例
样例1:
输入:a = 76543, b = 4
输出:765443
样例2:
输入:a = 1, b = 0
输出:10
样例3:
输入:a = 44, b = 5
输出:544
样例4:
输入:a = 666, b = 6
输出:6666
解题思路
这道题目综合运用了字符串操作和贪心算法知识,是一道典型的字符串处理问题。题目要求将数字 b 插入到数字 a 的某个位置,以形成一个最大的可能数字。核心信息是找到一个插入位置,使得插入后的数字最大。我们可以通过遍历 a 的每一位,尝试将 b 插入到每一个可能的位置,并比较插入后的结果,选择最大的那个。
解题过程:
- 字符串转换:将数字 a 和 b 转换为字符串形式,便于进行插入操作。
- 遍历插入位置:遍历 a 的每一位,尝试将 b 插入到每一个可能的位置。
- 生成新数字:对于每一个插入位置,生成一个新的数字,并将其转换为整数形式。
- 比较结果:比较新生成的数字与当前最大值,更新最大值。
- 返回结果:遍历结束后,返回最大值。
时间复杂度:O(n),其中 n 是数字 a 的长度。我们需要遍历 a 的每一位,尝试插入 b,并生成新的数字。
空间复杂度:O(1),我们只使用了常数级别的额外空间来存储中间结果。
代码
def solution(a: int, b: int) -> int:# 将数字 a 和 b 转换为字符串str_a = str(a)str_b = str(b)# 初始化最大结果为插入到最前面的情况max_result = int(str_b + str_a)# 遍历字符串 a 的每一个位置for i in range(len(str_a) + 1):# 尝试将 str_b 插入到位置 inew_str = str_a[:i] + str_b + str_a[i:]# 将新字符串转换为整数new_num = int(new_str)# 比较并更新最大结果if new_num > max_result:max_result = new_numreturn max_resultif __name__ == '__main__':print(solution(76543, 4) == 765443)print(solution(1, 0) == 10)print(solution(44, 5) == 544)print(solution(666, 6) == 6666)
法2:
def solution(a:int, b:int)->int:a = str(a)b = str(b)maxVal = 0for i in range(len(a) + 1):val = int(a[:i] + b + a[i:])if val > maxVal:maxVal = val return maxValif __name__ == '__main__':print(solution(a = 76543, b = 4) == 765443)print(solution(a = 1, b = 0) == 10)print(solution(a = 44, b = 5) == 544)print(solution(a = 666, b = 6) == 6666)
相关文章:
Python解决“数字插入”问题
Python解决“数字插入”问题 问题描述测试样例解题思路代码 问题描述 小U手中有两个数字 a 和 b。第一个数字是一个任意的正整数,而第二个数字是一个非负整数。她的任务是将第二个数字 b 插入到第一个数字 a 的某个位置,以形成一个最大的可能数字。 你…...
Go语言的嵌入式网络
Go语言的嵌入式网络 引言 在当今快速发展的互联网时代,嵌入式系统和网络技术的结合变得越来越普遍。嵌入式系统是指嵌入到设备中以实现特定功能的计算机系统,它们通常具有资源有限的特点。随着物联网(IoT)的兴起,嵌入…...
Dart 语法
1. 级联操作符 … var paint Paint()..color Colors.black..strokeCap StrokeCap.round..strokeWidth 5.0;2. firstWhereOrNull 3. 隐藏或导入部分组件 // Import only foo. import package:lib1/lib1.dart show foo;// Import all names EXCEPT foo. import package:lib…...
MCP over MQTT:EMQX 开启物联网 Agentic 时代
前言 随着 DeepSeek 等大语言模型(LLM)的广泛应用,如何找到合适的场景,并基于这些大模型构建服务于各行各业的智能体成为关键课题。在社区中,支持智能体开发的基础设施和工具层出不穷,其中,Ant…...
ACM代码模式笔记
系列博客目录 文章目录 系列博客目录1.换行符 1.换行符 nextInt()、nextDouble() 等不会消耗换行符: 当使用 nextInt() 或 nextDouble() 读取数字时,它只读取数字部分,不会消耗掉输入后的换行符。 nextLine() 会读取并消耗换行符:…...
相干光信号处理的一些基础知识
1. 逆琼斯矩阵问题 逆琼斯矩阵方法常用于逆向补偿由光学系统或传输信道(如光纤)引入的偏振态(SOP, State of Polarization)畸变。 1.1 琼斯向量 任意偏振光可用二维复数向量表示: E [ E x E y ] [ ∣ E x ∣ e i…...
WiFi加密协议
目录 1. 认证(Authentication) 1.1 开放系统认证(Open System Authentication) 1.2 共享密钥认证(Shared Key Authentication) 1.3 802.1X/EAP认证(企业级认证) 2. 关联(Association) 3. 加密协议(Security Handshake) 整体流程总结…...
程序化广告行业(61/89):DSP系统活动设置深度剖析
程序化广告行业(61/89):DSP系统活动设置深度剖析 大家好!在程序化广告的学习道路上,我们已经探索了不少重要内容。今天依旧本着和大家一起学习进步的想法,深入解析DSP系统中活动设置的相关知识。这部分内容…...
[王阳明代数讲义]具身智能才气等级分评价排位系统领域投射模型讲义
具身智能才气等级分评价排位系统领域投射模型讲义 具身智能胆识曲线调查琴语言的行为主义特性与模式匹配琴语言的"气质邻域 "与气度,云藏山鹰符号约定 琴语言的"气质邻域 "与气度,一尚韬竹符号约定 琴语言的"气质邻域 "与…...
【Block总结】PlainUSR的局部注意力,即插即用|ACCV2024
论文信息 标题: PlainUSR: Chasing Faster ConvNet for Efficient Super-Resolution作者: Yan Wang, Yusen Li, Gang Wang, Xiaoguang Liu发表时间: 2024年会议/期刊: 亚洲计算机视觉会议(ACCV 2024)研究背景: 超分辨率(Super-Resolution, S…...
Kubernetes集群管理详解:从入门到精通
1. 引言 Kubernetes(简称k8s)作为当今最流行的容器编排平台,已成为云原生应用部署和管理的事实标准。本文将深入探讨k8s集群管理的各个方面,为运维工程师和开发人员提供一个全面的指南。 2. Kubernetes架构概览 在深入具体的管理任务之前,让我们先回顾一下Kubernetes的基本架…...
Git 换行符警告(LF replaced by CRLF)的解决方案
根据你的日志和知识库中的信息,以下是针对 Git 换行符警告(LF replaced by CRLF) 的解决方案: 一、问题分析 警告原因 你当前在 Windows 系统 上工作,但某些文件(如 .gitignore, README.md, package.json 等…...
【C++】从零实现Json-Rpc框架(2)
目录 JsonCpp库 1.1- Json数据格式 1.2 - JsonCpp介绍 • 序列化接口 • 反序列化接口 1.3 - Json序列化实践 JsonCpp使用 Muduo库 2.1 - Muduo库是什么 2.2 - Muduo库常见接口介绍 TcpServer类基础介绍 EventLoop类基础介绍 TcpConnection类基础介绍 TcpClient…...
蓝桥云客--回文数组
0回文数组 - 蓝桥云课 问题描述 小蓝在无聊时随机生成了一个长度为 n 的整数数组,数组中的第 i 个数为 ai,他觉得随机生成的数组不太美观,想把它变成回文数组,也就是对于任意 i∈[1,n] 满足 aian−i1。小蓝一次操作可以指…...
FastAPI依赖注入:链式调用与多级参数传递
title: FastAPI依赖注入:链式调用与多级参数传递 date: 2025/04/05 18:43:12 updated: 2025/04/05 18:43:12 author: cmdragon excerpt: FastAPI的依赖注入系统通过链式调用和多级参数传递实现组件间的解耦和复用。核心特性包括解耦性、可复用性、可测试性和声明式依赖解析…...
【STM32单片机】#5 定时中断
主要参考学习资料: B站江协科技 STM32入门教程-2023版 细致讲解 中文字幕 开发资料下载链接:https://pan.baidu.com/s/1h_UjuQKDX9IpP-U1Effbsw?pwddspb 单片机套装:STM32F103C8T6开发板单片机C6T6核心板 实验板最小系统板套件科协 实验&…...
OrbStack 作为 Mac 用户的 Docker 替代方案
推荐使用 OrbStack 作为 Mac 用户的 Docker 替代方案 在现代开发环境中,容器化技术已经成为了软件开发的重要组成部分。对于 Mac 用户来说,Docker Desktop 是一个广泛使用的工具,但它并不是唯一的选择。本文将推荐 OrbStack 作为 Docker Desktop 的替代方案,并探讨其优势。…...
运行小程序报错
[ app.json 文件内容错误] app.json: ["tabBar"]["list"] 不能超过 5 项(env: Windows,mp,1.06.2206090; lib: 3.7.12) 他的意思大概是,微信小程序 app.json 文件中的 tabBar.list 配置项超过了 5 项。这是微信小程序的限制,tabBar…...
Nature Electronics|一种透气、可拉伸的液态金属基3D电子皮肤系统(健康监测/可穿戴电子/透汗透气性电子/电子皮肤/柔性电子/集成电路)
一、 摘要 穿戴式和皮肤电子设备的发展要求高密度可伸展电子系统能够与软组织共形,持续运行并提供长期的生物相容性。大多数可拉伸电子系统的集成密度低,并且与外部印刷电路板连接,这限制了功能,降低了用户体验并阻碍了长期可用性。在此,作者提出了一种可渗透的三维集成电…...
深入剖析丝杆升降机工作原理,解锁工业传动奥秘
丝杆升降机,在工业设备的大舞台上扮演着不可或缺的角色,被广泛应用于机械制造、自动化生产线、建筑施工等众多领域。它能够精准实现重物的升降、定位等操作,为各类工业生产提供了稳定可靠的支持。想要深入了解丝杆升降机,就必须探…...
【51单片机】2-3【I/O口】震动传感器控制LED灯
1.硬件 51最小系统LED灯模块震动传感器模块 2.软件 #include "reg52.h"sbit led1 P3^7;//根据原理图(电路图),设备变量led1指向P3组IO口的第7口 sbit vibrate P3^3;//震动传感器DO接P3.3口void Delay2000ms() //11.0592MHz {…...
TortoiseSVN设置忽略清单
1.TortoiseSVN > Properties(如果安装了 TortoiseSVN)。 2. 在弹出的属性窗口中,点击 New > Other。 4. 在 Property name 中输入 svn:ignore 。 5. 在 Property value 中输入要忽略的文件夹或文件名称,例如: #…...
大模型持续学习方案解析:灾难性遗忘的工业级解决方案
引言 随着大型语言模型(LLMs)如 GPT 系列、BERT 等在自然语言处理领域取得突破性进展,它们强大的理解和生成能力已经渗透到各行各业。然而,这些模型通常是在海量静态数据集上进行一次性预训练的。现实世界是动态变化的࿰…...
《UNIX网络编程卷1:套接字联网API》第7章:套接字选项深度解析
《UNIX网络编程卷1:套接字联网API》第7章:套接字选项深度解析 一、套接字选项核心原理 1.1 选项层级体系 套接字选项按协议层级划分(图1): SOL_SOCKET:通用套接字层选项IPPROTO_IP:IPv4协议层…...
Debian编译安装mysql8.0.41源码包 笔记250401
Debian编译安装mysql8.0.41源码包 以下是在Debian系统上通过编译源码安装MySQL 8.0.41的完整步骤,包含依赖管理、编译参数优化和常见问题处理: 准备工作 1. 安装编译依赖 sudo apt update sudo apt install -y \cmake gcc g make libssl-dev …...
医疗思维图与数智云融合:从私有云到思维图的AI架构迭代(代码版)
医疗思维图作为AI架构演进的重要方向,其发展路径从传统云计算向融合时空智能、大模型及生态开放的“思维图”架构迭代,体现了技术与场景深度融合的趋势。 以下是其架构迭代的核心路径与关键特征分析: 一、从“智慧云”到“思维图”的架构演进逻辑 以下是针对医疗信息化领域…...
【计算机网络应用层】
文章目录 计算机网络应用层详解一、前言二、应用层的功能三、常见的应用层协议1. HTTP/HTTPS(超文本传输协议)2. DNS(域名系统)3. FTP(文件传输协议)4. SMTP/POP3/IMAP(电子邮件协议)…...
【JS】接雨水题解
题目 思路 首先我们要明确如何计算每条柱子的接水量: 每条柱子对应接到的雨水量该柱子左边最大值和右边最大值中的较小值-该柱子本身的高度。举例:第二条柱子自身高度为0,左边最大值为1,右边最大值为3,取较小值1-自身…...
线代[12]|《高等几何》陈绍菱(1984.9)(文末有对三大空间的分析及一个合格数学系毕业生的要求)
文章目录 一、概述二、平面仿射几何的基本概念三、平面射影几何的基本概念四、变换群和几何学五、二次曲线的射影理论、仿射理论和度量理论六、射影几何公理基础七、非欧几里得几何概要八、自我测试题九、欧氏解析几何、仿射解析几何、射影解析几何与其他(博主借助A…...
第3课:状态管理与事件处理
第3课:状态管理与事件处理 学习目标 掌握useState Hook的使用理解组件事件处理机制实现表单输入与状态绑定完成任务添加功能原型 一、useState基础 1. 创建第一个状态 新建src/Counter.js: import { useState } from react;function Counter() {co…...
