LeetCode·每日一题·2178. 拆分成最多数目的正偶数之和·贪心

news2024/11/27 20:38:11

作者:小迅
链接:https://leetcode.cn/problems/maximum-split-of-positive-even-integers/solutions/2332925/tan-xin-zhu-shi-chao-ji-xiang-xi-by-xun-zoioi/
来源:力扣(LeetCode)
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

题目

 

示例

 

思路

题意 -> 给定一个整数 t,将其拆分为 n 个偶数,返回最大 n 的一个集合。

要求:

  1. n 个偶数之间不能有重复值
  2. n 个偶数之后 对于 原来的整数 t

题目要求拆分后的偶数和等于原来数 t,而偶数之后必然是偶数,因此如果 t为奇数的话,可以直接返回空。

其次,我们希望拆分成尽可能多的偶数,我们应该尽可能拆份成最小的若干个偶数。从最小的偶整数 2 开始依次尝试拆分,直到剩余的数值小于等于当前被拆分的最大偶整数为止。

此时,我们已经拆分成尽可能多的偶数,不可能拆分出更多的互不相同的偶数。

如果此时拆分后剩余的 finalSum 大于零,则将这个数值加到最大的偶整数上,从而保证所有的数互不相同而和又等于 finalsum。

代码注释超级详细

代码


/**
 * Note: The returned array must be malloced, assume caller calls free().
 */
long long* maximumEvenSplit(long long finalSum, int* returnSize){
    *returnSize = 0;
    if (finalSum & 1) return NULL;//判断奇偶
    long long *ans = (long long *)malloc(sizeof(long long) * (sqrt(finalSum) + 1));//初始化
    for (int i = 2; i <= finalSum; i += 2) {//从小枚举偶数
        ans[(*returnSize)++] = i;//记录集合
        finalSum -= i;//利用 - 代替 + 来判断结束
    }
    //将剩余不足以再开辟一个新位置的偶数和入最大值,保证唯一
    ans[(*returnSize)-1] += finalSum;
    return ans;
}   

作者:小迅
链接:https://leetcode.cn/problems/maximum-split-of-positive-even-integers/solutions/2332925/tan-xin-zhu-shi-chao-ji-xiang-xi-by-xun-zoioi/
来源:力扣(LeetCode)
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

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

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

相关文章

Vue2通过点击渲染循环的echarts

底下放置源码cv即可食用 几个注意事项&#xff1a; echartsData 这个变量是为了模拟后端数据格式changeTag() 这个方法是为了控制最多可以多选几条最后关于循环echarts的灵感来源于 明天也要努力 <!DOCTYPE html> <html lang"en"><head><meta…

上海亚商投顾:沪指缩量调整 PCB、CPO概念股全天领涨

上海亚商投顾前言&#xff1a;无惧大盘涨跌&#xff0c;解密龙虎榜资金&#xff0c;跟踪一线游资和机构资金动向&#xff0c;识别短期热点和强势个股。 市场情绪 沪指今日震荡调整&#xff0c;创业板指午后跌超1%。AI概念股反弹&#xff0c;存储芯片、CPO等方向领涨&#xff0c…

【MySQL】MySQL基本语句大全

个人主页&#xff1a;【&#x1f60a;个人主页】 系列专栏&#xff1a;【❤️MySQL】 文章目录 前言结构化查询语句分类MySQL语句大全&#x1f4da;DDL&#xff08;对数据库和表的操作&#xff09;&#x1f916;DQL&#xff08;查询语句&#xff09;&#x1f4bb;关键字&#x…

香橙派4和树莓派4B构建K8S集群实践之七: Jenkins

目录 1. 说明 2. 步骤 2.1 准备工作 2.2 安装 2.2.1 用jenkins原站for k8s的安装仓方法安装 2.2.2 Helm 安装 3. 相关命令 4. 遇到的问题 5. 参考 1. 说明 在k8s上部署jenkins&#xff0c;并用 jenkins.k8s-t2.com访问在namespace为devops下安装在指定节点k8s-master-…

CAN总线和DCB文件格式

目录 CAN总线和DBC格式1. CAN总线1.1 CAN总线的组织结构1.2 CAN的信号结构 2. DBC格式2.1 通用描述2.2 DBC文件的结构 3. DBC文件官方示例3. DBC文件官方示例 CAN总线和DBC格式 1. CAN总线 控制器局域网总线&#xff08;CAN&#xff0c;Controller Area Network&#xff09;一…

【避坑指南】Unity3D接入外网SDK笔记(GooglePlay/FaceBook/AppsFlyer)

这段时间折腾了一下获取归因数据相关的SDK&#xff0c;遇到非常多奇奇怪挂的报错&#xff0c;在此记录一下。 准备资源 Unity的Jar包解析器&#xff0c;下面提及的SDK都需要工具解析并下载依赖 https://github.com/googlesamples/unity-jar-resolverAndroidStudio&#xff0c…

微信小程序基础库的介绍与更改

一、什么是基础库&#xff1f; 1、基础库是小程序运行的必要环境&#xff0c;我们的开发主要就是面向基础库开发的。基础库封装了微信和手机的能力并提供给小程序使用&#xff0c;我们使用基础库提供的组件和API开发起来非常的方便。 2、基础库存在于我们的微信客户端中&…

骑行,怎么样才能安全的下坡?

大家好&#xff0c;今天我们来聊聊自行车运动中的一个重要话题&#xff1a;如何安全地骑行下坡&#xff1f; 首先&#xff0c;我们要明白&#xff0c;安全下坡的秘诀在于控制。一是速度的控制&#xff0c;二是自身姿势的控制。就像一只灵活的狐狸&#xff0c;既要控制好自己的速…

Excel表格套用格式后分类汇总用不了解决方法之一

表格套用格式选择表格后分类汇总显示灰色不可用&#xff0c;如下图&#xff1a; 解决方法之一&#xff1a;右键-表格-转为区域&#xff0c;确定

如何部署LVS负载均衡集群(NAT模式)

目录 一、集群 负载均衡集群&#xff08;Load Balance Cluster&#xff09; 高可用集群&#xff08;High Availability Cluster&#xff09; 高性能运算集群&#xff08;High Performance Computer Cluster&#xff09; 二、负载均衡工作模式 VIP地址特性&#xff08;虚拟…

剑指offer(C++)-JZ40:最小的K个数(算法-排序)

作者&#xff1a;翟天保Steven 版权声明&#xff1a;著作权归作者所有&#xff0c;商业转载请联系作者获得授权&#xff0c;非商业转载请注明出处 题目描述&#xff1a; 给定一个长度为 n 的可能有重复值的数组&#xff0c;找出其中不去重的最小的 k 个数。例如数组元素是4,5,…

1.1 熟悉x64dbg调试器

x64dbg 是一款开源、免费、功能强大的动态反汇编调试器&#xff0c;它能够在Windows平台上进行应用程序的反汇编、调试和分析工作。与传统的调试器如Ollydbg相比&#xff0c;x64dbg调试器的出现填补了Ollydbg等传统调试器的不足&#xff0c;为反汇编调试工作提供了更高效、更可…

Python 中的 JSON 操作:简单、高效的数据交换格式

目录 1. JSON 数据格式 2. Python 操作 JSON 文件 2.1 JSON 反序列化为 Python 对象 2.2 Python 序列化为 JSON 3 工作中的常见场景 3.1 网络请求和响应 服务器端&#xff08;Python&#xff09;&#xff1a; 客户端&#xff08;JavaScript&#xff09;&#xff1a; 3…

5G三防平板电脑有哪些功能与特点

随着科技的不断进步&#xff0c;平板电脑已经成为许多人生活中必不可少的设备之一。而随着5G技术的全面普及&#xff0c;5G三防平板电脑也应运而生。这些平板电脑集成了内置高通八核处理器搭配Adreno GPU&#xff0c;搭载全新Android 11操作系统&#xff0c;以及提供多应用切换…

docker-compose实现微服务jar+mysql的容器服务发布(经典版)

一 安装mysql服务 1.1 拉取镜像 1.拉取&#xff1a; docker pull mysql:5.7.29 2.查看镜像&#xff1a; docker images 1.2 在宿主机创建文件存储mysql 1.创建映射目录&#xff1a;mysql-c5 在/root/export/dockertest 目录下&#xff0c;mkdir -p mysql-c5 &#…

Django proxy_view代理后端

某些需求下&#xff0c;需要通过Django代理后端&#xff0c;比如开发celery定时任务时候&#xff0c;需要代理后端的flower&#xff0c;代理后端可以直接使用Django自带的授权&#xff0c;方便权限控制 具体操作如下 1.安装 django-proxy 包&#xff0c;进行代理 pip install …

LVS负载均衡集群(DR)

目录 1.数据包流向 2.通信遇到的问题 1.ARP广播 导致所有节点服务器和调度器的VIP响应 2.VIP的调度器失效 3.案例 1. 配置负载调度器 2.部署共享存储 3. 配置节点服务器(这里是两台) 1.数据包流向 1.客户端发送请求到负载均衡器 请求的数据报文到达内核空间 2.负载均…

改进 Elastic Stack 中的信息检索:引入 Elastic Learned Sparse Encoder,我们的新检索模型

作者&#xff1a;Thomas Veasey&#xff0c;Quentin Herreros 在本博客中&#xff0c;我们讨论了我们一直在使用预先训练的语言模型增强 Elastic 开箱即用检索功能所做的工作。 在本系列的上一篇博客文章中&#xff0c;我们讨论了在零样本设置中应用密集模型进行检索的一些挑战…

全网最细,接口自动化测试hook机制使用详细,进阶高级...

目录&#xff1a;导读 前言一、Python编程入门到精通二、接口自动化项目实战三、Web自动化项目实战四、App自动化项目实战五、一线大厂简历六、测试开发DevOps体系七、常用自动化测试工具八、JMeter性能测试九、总结&#xff08;尾部小惊喜&#xff09; 前言 requests 库只支持…

Sa-Token,一款更加轻量的权限认证框架

今天给大家介绍一个轻量级 Java 权限认证框架&#xff0c;我们之前一直采用最多的鉴权框架是OAuth2.0或者SpringSecurity&#xff0c;但是两者的配置都相当复杂&#xff0c;学习成本也非常高&#xff0c;所以我一直在试图寻找更好的解决办法&#xff0c;这几天在搭建权限体系平…