leetcode:2160. 拆分数位后四位数字的最小和(python3解法,数学相关算法题)

难度:简单

给你一个四位 整数 num 。请你使用 num 中的 数位 ,将 num 拆成两个新的整数 new1new2new1new2 中可以有 前导 0 ,且 num所有 数位都必须使用。

  • 比方说,给你 num = 2932 ,你拥有的数位包括:两个 2 ,一个 9 和一个 3 。一些可能的 [new1, new2] 数对为 [22, 93][23, 92][223, 9][2, 329]

请你返回可以得到的 new1new2最小 和。

示例 1:

复制代码
输入:num = 2932
输出:52
解释:可行的 [new1, new2] 数对为 [29, 23] ,[223, 9] 等等。
最小和为数对 [29, 23] 的和:29 + 23 = 52 。

示例 2:

复制代码
输入:num = 4009
输出:13
解释:可行的 [new1, new2] 数对为 [0, 49] ,[490, 0] 等等。
最小和为数对 [4, 9] 的和:4 + 9 = 13 。

提示:

  • 1000 <= num <= 9999

题解:

python 复制代码
class Solution:
    def minimumSum(self, num: int) -> int:
        # 创建一个列表用于存储数字的每一位
        digits = []
        # 将输入的数字转换为字符串,以便逐位处理
        s_num = str(num)
        
        # 提取每一位数字,并将其转换为整数
        # 这个步骤将确保即使数字有前导0,也能正确处理
        digits.append(int(s_num[0]) % 1000)  # 第一位
        digits.append(int(s_num[1]) % 100)   # 第二位
        digits.append(int(s_num[2]) % 10)    # 第三位
        digits.append(int(s_num[3]))          # 第四位
        
        # 对数字进行排序,以便后续组合得到最小和
        final_digits = sorted(digits)
        
        # 组合形成两个两位数的和,返回其最小值
        # final_digits[0] 和 final_digits[1] 组合成第一个两位数
        # final_digits[2] 和 final_digits[3] 组合成第二个两位数
        return final_digits[0] * 10 + final_digits[2] + final_digits[1] * 10 + final_digits[3]

# 算法思路:
# 1. 将给定的四位整数拆分为各个数字(位数),存入列表中。
# 2. 对数字进行排序(从小到大)。
# 3. 通过两个两位数的方式组合这些数字,以产生最小的可能和。
相关推荐
手写码匠10 分钟前
华为云征文|DeepSeek-R1 智能问数 Agent 实战:Flexus X 实例 + Dify 构建企业级 Text-to-SQL 查询助手
人工智能·深度学习·算法·aigc
梅孔立14 分钟前
推荐一个 Python 开源项目:AI 模板填充 + Markdown 转 Word,面向 Aspose 模板引擎的效率神器
人工智能·python·开源
码农小韩20 分钟前
AIAgent应用开发——大模型理论基础与应用(七)
python·学习·ai·大模型·agent
CodeLinghu21 分钟前
LangSmith Evaluate实战评估Agent
人工智能·python·语言模型·llm
mifengxing35 分钟前
Java集合与泛型
java·算法·复习笔记
liulilittle1 小时前
[OPENPPP2] ssea 算法详解(中文)
算法·x86·x64·simd·openppp2·ssea·base94
碧海银沙音频科技研究院1 小时前
蓝牙耳机使用WSDF5361锂保芯片进入船运模式实现方法
嵌入式硬件·算法
起司喵喵1 小时前
推荐一款基于 Python 和 Rust 开发的跨平台 GUI 自动化库!
python·rust·自动化
过期的秋刀鱼!1 小时前
学习曲线-过拟合和欠拟合要做什么以及原因
人工智能·python·深度学习·算法·机器学习·模型评估
m沐沐1 小时前
【自然语言处理】词向量转换与中文文本情感分类——从CountVectorizer到朴素贝叶斯
人工智能·算法·机器学习·自然语言处理·分类·中文分词·词向量转换