当前位置: 首页 > news >正文

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

难度:简单

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

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

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

示例 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

题解:

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. 通过两个两位数的方式组合这些数字,以产生最小的可能和。

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

相关文章:

  • C++之STL入门
  • 探索LobeChat:开源、可定制的下一代AI对话客户端
  • Spring + MyBatis/MyBatis-Plus 分页方案(limit分页和游标分页)详解
  • 打卡第29天:类的定义和方法
  • React从基础入门到高级实战:React 核心技术 - React 状态管理:Context 与 Redux
  • 第三届京麒CTF Web
  • MyBatis入门:快速搭建数据库操作框架 + 增删改查(CRUD)
  • Web字体本地化的一种方案
  • 电动式传声器与电容式传声器
  • 【区间dp】-----例题4【凸多边形的划分】
  • 【前端基础】Promise 详解
  • Android Studio 介绍
  • 基于Robust Video Matting 使用Unity 实现无绿幕实时人像抠图
  • 编程日志5.19
  • 人工智能100问☞第33问:什么是计算机视觉?
  • 遥感解译项目Land-Cover-Semantic-Segmentation-PyTorch之三制作训练数据
  • 从无符号长整型数中提取字节
  • 力扣刷题Day 56:岛屿数量(200)
  • 策略模式与责任链模式学习笔记:从入门到理解
  • 如何选择自动化编程平台
  • OpenSSL 签名验证详解:PKCS7* p7、cafile 与 RSA 验签实现
  • 【windwos】文本编辑器Notepad++ 替代品Notepad--
  • 支持向量机(SVM)例题
  • 综合实现案例 LVS keepalived mysql 等
  • 深入解析Spring Boot与Redis集成:高效缓存与性能优化实践
  • 《软件工程》第 3 章 -需求工程概论
  • vae 视频截图 复习 gans和vae的原理区别
  • 【通用智能体】Dify API 文件上传功能: 两种传参方式的API传参方式
  • 【Pandas】pandas DataFrame add_prefix
  • window 显示驱动开发-呈现开销改进