LeetCode 2578. 最小和分割【贪心,排序+奇偶分组】1350

news2025/6/22 4:41:02

本文属于「征服LeetCode」系列文章之一,这一系列正式开始于2021/08/12。由于LeetCode上部分题目有锁,本系列将至少持续到刷完所有无锁题之日为止;由于LeetCode还在不断地创建新题,本系列的终止日期可能是永远。在这一系列刷题文章中,我不仅会讲解多种解题思路及其优化,还会用多种编程语言实现题解,涉及到通用解法时更将归纳总结出相应的算法模板。

为了方便在PC上运行调试、分享代码文件,我还建立了相关的仓库:https://github.com/memcpy0/LeetCode-Conquest。在这一仓库中,你不仅可以看到LeetCode原题链接、题解代码、题解文章链接、同类题目归纳、通用解法总结等,还可以看到原题出现频率和相关企业等重要信息。如果有其他优选题解,还可以一同分享给他人。

由于本系列文章的内容随时可能发生更新变动,欢迎关注和收藏征服LeetCode系列文章目录一文以作备忘。

给你一个正整数 num ,请你将它分割成两个非负整数 num1 和 num2 ,满足:

  • num1 和 num2 直接连起来,得到 num 各数位的一个排列。
    • 换句话说,num1 和 num2 中所有数字出现的次数之和等于 num 中所有数字出现的次数。
  • num1 和 num2 可以包含前导 0 。

请你返回 num1 和 num2 可以得到的和的 最小 值。

注意:

  • num 保证没有前导 0 。
  • num1 和 num2 中数位顺序可以与 num 中数位顺序不同。

示例 1:

输入:num = 4325
输出:59
解释:我们可以将 4325 分割成 `num1` = 24 和 num2 `=` 35 ,和为 5959 是最小和。

示例 2:

输入:num = 687
输出:75
解释:我们可以将 687 分割成 `num1` = 68`num2` = 7 ,和为最优值 75

提示:

  • 10 <= num <= 10^9

解法 贪心:排序+奇偶分组

思考: 4325 4325 4325 怎么分?

如果分成 432 432 432 5 5 5 这两组,不如分成 32 32 32 45 45 45,因为 4 4 4 432 432 432 中是 400 400 400 ,在 45 45 45 中是 40 40 40 。这启发我们要尽量均匀分。如果有奇数个数,多出的那个数放在哪一组都可以。

如果均匀分成 32 32 32 45 45 45 这两组,那么 32 32 32 这组调整一下顺序 23 23 23 32 32 32 更好。

进一步地,均匀分成 24 24 24 35 35 35 更好,也就是把小的数字排在高位,大的数字排在低位

s s s n u m num num 的字符串形式,这等价于把 s s s 排序后,按照奇偶下标分组。

class Solution {
public:
    int splitNum(int num) {
        string s = to_string(num);
        sort(s.begin(), s.end());
        int a[2]{};
        for (int i = 0; i < s.length(); i++)
            a[i % 2] = a[i % 2] * 10 + s[i] - '0'; // 按照奇偶下标分组
        return a[0] + a[1];
    }
};

复杂度分析:

  • 时间复杂度: O ( m log ⁡ m ) \mathcal{O}(m\log m) O(mlogm) ,其中 mmm 为 n u m num num 转成字符串后的长度。
  • 空间复杂度: O ( m ) \mathcal{O}(m) O(m)

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Redis 新手必读。这篇文章是学 Redis 的捷径。

Redis 简介Redis 优势Redis 数据类型基本命令发布订阅订阅者的客户端显示如下事务持久化复制哨兵分片 Redis 简介 Redis 是完全开源免费的&#xff0c;遵守 BSD 协议&#xff0c;是一个高性能的 key - value 数据库 Redis 与 其他 key - value 缓存产品有以下三个特点&#…

经典面试题第九更---Promise养猪场

前言&#xff1a; &#x1f921; 作者简介&#xff1a;我是Morning&#xff0c;计算机的打工人&#xff0c;想要翻身做主人 &#x1f648; &#x1f648; &#x1f648; &#x1f3e0; 个人主页&#xff1a; Morning的主页 &#x1f4d5;系列专栏&#xff1a; 前端…

Magic Bullet Suite2024.0.1(ae降噪插件合集)

Red Giant Magic Bullet Suite是一套专业的视频后期处理软件&#xff0c;适用于Adobe Premiere Pro、After Effects等视频编辑软件。它提供了多种精美的视频特效和调色工具&#xff0c;使得视频制作更加专业和出色。 Magic Bullet Suite包括多个插件&#xff0c;其中最为知名的…

安防视频监控平台EasyCVR集成到ios系统不能播放是什么原因?如何解决?

视频监控TSINGSEE青犀视频平台EasyCVR能在复杂的网络环境中&#xff0c;将分散的各类视频资源进行统一汇聚、整合、集中管理&#xff0c;在视频监控播放上&#xff0c;TSINGSEE青犀视频安防监控汇聚平台可支持1、4、9、16个画面窗口播放&#xff0c;可同时播放多路视频流&#…

什么是多云? 为什么我们需要多云可观测性 (Observability)?

Observe 是一家提供可观察性云解决方案的公司&#xff0c;以帮助企业加速应用故障排查和问题解决的效率。公司成立于2017年9月&#xff0c;总部位于美国加利福尼亚州圣马特奥。到目前为止&#xff0c;Observe 已经在5轮融资中总共筹集了1.62亿美元。他们最近的一轮融资是在2023…

【EI会议征稿】第二届可再生能源与电气科技国际学术会议(ICREET 2023)

第二届可再生能源与电气科技国际学术会议(ICREET 2023) 2023 2nd International Conference on Renewable Energy and Electrical Technology 2020年中国可再生能源发电规模显著扩大&#xff0c;风力和太阳能发电均呈迅速增长趋势。中国大力推进能源低碳化&#xff0c;减少温…

醒醒吧,这才叫自动化测试最全教程,看完可就业!

最近看到很多粉丝在后台私信我&#xff0c;叫我做一期自动化测试的教程&#xff0c;其实关于这个问题&#xff0c;我也早就在着手准备了&#xff0c;我录制了一整套完整的Python自动化测试的教程&#xff0c;都上传在网盘里&#xff0c;大家有兴趣的可以去看一下&#xff01; 一…

Linux系统下centos中在线添加硬盘后不重启在线扩容linux系统目录不重启系统

Centos7 在线添加硬盘不重启系统 CentOS 7在线添加新磁盘,无需重启 现有环境基本都是线下server以及线上虚拟机等,几乎都支持热插拔,热扩容,所以在线添加新磁盘就尤为重要,这样可以无需中断当前服务或进程也可对其进行添加硬盘操作。 1.添加硬盘: 虚拟机在线状态下对其进行添加…

Ansys Zemax | 如何建立LCD背光源模型

本文建立了楔形LCD背光源模型&#xff0c;并对其进行分析&#xff0c;并按照照明输出标准对其进行优化。 附件下载 联系工作人员获取附件 简介 液晶显示器 (LCDs) 作为一种显示技术&#xff0c;在当今社会中已经得到了广泛的应用。在商业领域中最突出的应用包括计算机显示器…

Blender:使用立方体制作动漫头像

好久没水文章 排名都掉到1w外了 ~_~ 学习一下blender&#xff0c;看能不能学习一点曲面变形的思路 一些快捷键 ctrl 空格&#xff1a;区域最大化&#xff0c;就是全屏 ctrl alt 空格&#xff1a;也是区域最大化 shift b&#xff1a;框选区域然后最大化显示该范围 shift 空…

著名色彩专家预测下一个家居空间的色彩趋势竟然是这个

室内造型师和色彩专家索菲-罗宾逊&#xff08;Sophie Robinson&#xff09;分享了她对今年下半年色彩和涂料流行趋势的预测。她认为色彩文艺复兴就在我们身边。 在此之前&#xff0c;索菲分享了她摆脱 "50 色调米色 "的秘诀&#xff0c;学会在充满中性客厅配色方案和…

Linux下platform驱动框架描述

文章目录 驱动的分离与分层platform模型简介 如果要写复杂的外设驱动&#xff0c;Linux系统就要考虑到驱动的可重用性&#xff0c;因此提出了驱动的分离与分层这样的软件思路&#xff0c;platform设备驱动就是在这种思路下诞生的&#xff0c;其也称为平台设备驱动。 对于Linux这…

一次Go项目进程重启故障问题排查

有个go项目的容器近两天几乎每天都异常重启一次&#xff0c;且两个节点基本都是差不多的时间异常重启。看了监控指标&#xff0c;发现CPU平稳&#xff0c;而内存是缓慢涨上去后&#xff0c;进程被操作系统kill掉&#xff0c;导致pod重启。 从内存指标可以看出&#xff0c;不会…

大量需求测不过来怎么破?

互联网测试少&#xff0c;测试研发比大概在1:5&#xff0c;再加上产品再使足了劲上需求&#xff0c;导致了测试需求量大&#xff0c;测试准备时间短&#xff0c;从而降低了上线质量。那么如何解决呢&#xff1f;测试是质量负责人&#xff0c;要对平台质量负责&#xff0c;于是就…

解决方案 | 法大大电子签精准击破销售场景签约难题

新商业形态及新交易模式不断涌现&#xff0c;电子签已经成为现代商业活动中不可或缺的一部分。特别是在销售场景中&#xff0c;电子签的应用不仅可以提高销售效率&#xff0c;还可以降低成本&#xff0c;提高客户满意度。本文将详细分析电子签在销售场景中的应用价值能力&#…

{2023版}老牌配资平台排行报告:十大排名和实盘评估详情

随着投资者对股市的深入了解&#xff0c;越来越多的人开始选择配资交易。在配资平台的选择上&#xff0c;除了要注意平台的合法性和安全性外&#xff0c;平台的口碑和服务质量也是非常重要的考虑因素。为了方便投资者的选择&#xff0c;尚红网、倍悦网、兴盛网、诚利和、嘉正网…

Jetson Orin NX 开发指南(4): 安装 CUDA 和 Realsense

一、硬件说明 可以在官网查看各个类型的相机说明 Intel RealSense™ Computer Vision - Depth and Tracking cameras 目前实验室常用的是 D400 系列的相机&#xff0c;如 D435i相机&#xff0c;D455相机等&#xff0c;本文主要使用 D435i 相机 D435i 相机是一个RGB-D相机&am…

iOS 面试题以及自我理解答案

1、简述push原理&#xff0c;push的证书和其他的有什么不一样&#xff1f; 第 一阶段&#xff1a;BeejiveIM服务器把要发送的消息、目的iPhone的标识打包&#xff0c;发给APNS。 第二阶段&#xff1a;APNS在自身的已注册Push服务 的iPhone列表中&#xff0c;查找有相应标识的iP…

pdf怎么压缩的小一点?分享pdf文件压缩方法

在数字化时代&#xff0c;PDF文件已成为我们日常工作和学习中不可或缺的一部分&#xff0c;然而&#xff0c;有时我们需要发送或存储的PDF文件过大&#xff0c;给我们的交流和存储带来不便。那么&#xff0c;如何将PDF文件压缩得小一点&#xff0c;以便更方便地传输和存储呢&am…

Android Studio for Platform (ASfP) 使用教程

文章目录 编写脚本下载源代码lunch 查看版本 归纳的很清楚&#xff0c;下载Repo并下载源码->可以参考我的 Framework入门のPiex 6P源码(下载/编译/刷机) 启动图标&#xff08;重启生效&#xff09; [Desktop Entry] EncodingUTF-8 NameAndroidStudio …