​LeetCode解法汇总2178. 拆分成最多数目的正偶数之和

news/2024/7/3 1:22:33

目录链接:

力扣编程题-解法汇总_分享+记录-CSDN博客

GitHub同步刷题项目:

https://github.com/September26/java-algorithms

原题链接:力扣


描述:

给你一个整数 finalSum 。请你将它拆分成若干个 互不相同 的正偶数之和,且拆分出来的正偶数数目 最多 。

  • 比方说,给你 finalSum = 12 ,那么这些拆分是 符合要求 的(互不相同的正偶数且和为 finalSum):(2 + 10) ,(2 + 4 + 6) 和 (4 + 8) 。它们中,(2 + 4 + 6) 包含最多数目的整数。注意 finalSum 不能拆分成 (2 + 2 + 4 + 4) ,因为拆分出来的整数必须互不相同。

请你返回一个整数数组,表示将整数拆分成 最多 数目的正偶数数组。如果没有办法将 finalSum 进行拆分,请你返回一个  数组。你可以按 任意 顺序返回这些整数。

示例 1:

输入:finalSum = 12
输出:[2,4,6]
解释:以下是一些符合要求的拆分:(2 + 10),(2 + 4 + 6) (4 + 8) 。
(2 + 4 + 6) 为最多数目的整数,数目为 3 ,所以我们返回 [2,4,6] 。
[2,6,4] ,[6,2,4] 等等也都是可行的解。

示例 2:

输入:finalSum = 7
输出:[]
解释:没有办法将 finalSum 进行拆分。
所以返回空数组。

示例 3:

输入:finalSum = 28
输出:[6,8,2,12]
解释:以下是一些符合要求的拆分:(2 + 26),(6 + 8 + 2 + 12)(4 + 24) 。
(6 + 8 + 2 + 12) 有最多数目的整数,数目为 4 ,所以我们返回 [6,8,2,12] 。
[10,2,4,12] ,[6,2,4,16] 等等也都是可行的解。

提示:

  • 1 <= finalSum <= 1010

解题思路:

/**

* 2178. 拆分成最多数目的正偶数之和

* 解题思路:

* 首先,判断是否是偶数,如果是奇数则直接返回空。

* 然后,判断finalSum>=2*i+2,如果满足条件,则说明剩余的值还足够放入i和i+2,则 finalSum -= i并且list.push_back(i);

* 否则说明不足够,则直接加入finalSum并跳出循环

*/

代码:

class Solution2178
{
public:
    vector<long long> maximumEvenSplit(long long finalSum)
    {
        vector<long long> list;
        if (finalSum % 2 != 0)
        {
            return list;
        }
        for (long long i = 2;; i = i + 2)
        {
            // 保证下一轮还够
            if (finalSum - i >= i + 2)
            {
                finalSum -= i;
                list.push_back(i);
                continue;
            }
            // 如果下一轮不够,则直接使用剩余所有值
            list.push_back(finalSum);
            break;
        }
        return list;
    }
};


http://lihuaxi.xjx100.cn/news/1313849.html

相关文章

SpringBoot项目打包部署后页面无法访问问题定位处理记录

问题描述 项目在idea中可以正常访问&#xff0c;但是达成jar包后访问时候访问异常&#xff0c;并报错&#xff0c;部分异常栈如下: org.thymeleaf.exceptions.TemplateInputException: Error resolving template [/views/login], template might not exist or might not be a…

百科词条创建:百科创建词条的规则及具体步骤!

百科词条是指对某一特定的事物、人物、事件、概念等进行全面、系统、准确的描述和介绍&#xff0c;以便人们获取相关信息和知识。随着互联网的普及和发展&#xff0c;百科词条成为了人们获取信息和知识的重要途径之一&#xff0c;因此如何正确地创建百科词条&#xff0c;成为了…

银河麒麟服务器v10 sp1 nginx开机自动启动

接上一篇&#xff1a;银河麒麟服务器v10 sp1 安装 nginx_csdn_aspnet的博客-CSDN博客 设置开机自启动 定义服务启动文件内容&#xff1a; [Unit] Descriptionnginx - high performance web server Afternetwork.target remote-fs.target nss-lookup.target [Service] Ty…

libbpf 开发指南:打开一个已经固定在文件系统路径上的 eBPF 程序的链接

目录 函数原型与解释 代码demo makefile cmake 期望输出 函数原型与解释 LIBBPF_API struct bpf_link * bpf_link__open(const char *path); 参数说明&#xff1a; path&#xff1a;一个字符串&#xff0c;表示已固定 eBPF 程序的文件系统路径。 返回值&#xff1a;一个…

不同语言的连接符(JavaScript、PHP、Java、C语言、C语言、Python、C#、Ruby、Swift、Go、Rust、C++、MATLAB)

JavaScript JavaScript 使用加号 () 运算符来连接字符串。 var str1 "Hello"; var str2 "World"; var result str1 " " str2; console.log(result); // 输出&#xff1a;Hello WorldPHP PHP 使用点号 (.) 运算符来连接字符串。 $str1 …

宝塔安装Jenkins-图文小白教程

一、Jenkins包下载 大家可以从Jenkins官网&#xff08;https://www.jenkins.io/&#xff09;根据自己的需要下载最新的版本。 但Jenkins官网下载较慢&#xff0c;容易造成下载失败。可以去国内的开源镜像网站下载Jenkins最新版本。目前博主使用的是清华大学的开源镜像网站&…

安装和配置nginx(含https)

文章目录 安装Nginx配置单独的配置&#xff1a;https配置 nginx为什么可以处理高并发 安装Nginx sudo yum update sudo yum install epel-release sudo yum install nginx sudo systemctl start nginx安装好后可以打开自己的域名 看一下默认的页面 配置 具体参考Link 位置 …

【基础算法】贪心算法

贪心算法又称贪婪算法&#xff0c;是一种常见的算法思想。贪心算法的优点是效率高&#xff0c;实现较为简单&#xff0c;缺点是可能得不到最优解。 贪心算法的基本思想 贪心算法就是在求解问题时&#xff0c;总是做出当前看来最好的选择。也就是说贪心算法并不从整体最优上考…