每日两题 / 53. 最大子数组和 56. 合并区间(LeetCode热题100)

server/2025/3/25 21:37:37/

53. 最大子数组和 - 力扣(LeetCode)
image.png

经典dp题,dp[i]表示以nums[i]为结尾的所有子数组中,最大的和
将i从左到右遍历,考虑dp[i]如何维护?
以nums[i]结尾的子数组只有两种情况,子数组只有nums[i]一个元素、子数组不止nums[i]一个元素
所以dp[i] = max(dp[i - 1] + nums[i], nums[i])
在两种情况中,取最大值即可

class Solution {
public:int maxSubArray(vector<int>& nums) {vector<int> dp(nums.size());dp[0] = nums[0];for (int i = 1; i < nums.size(); ++ i)dp[i] = max(nums[i], dp[i - 1] + nums[i]);int ans = dp[0];for (int i = 1; i < dp.size(); ++ i)ans = max(ans, dp[i]);return ans;}
};

56. 合并区间 - 力扣(LeetCode)
image.png
按左端点排序,遍历区间,记录一开始的作曲兼并维护最大的右边界
若遇到右边界小于左边界的情况,说明出现不重叠区间,此时维护答案

class Solution {
public:vector<vector<int>> merge(vector<vector<int>>& intervals) {sort(intervals.begin(), intervals.end(), [&](const vector<int> &left, const vector<int> &right){if (left[0] < right[0]) return true;else if (left[0] > right[0]) return false;else return left[1] < right[1];});vector<vector<int>> ans;int l = intervals[0][0], r = intervals[0][1];for (int i = 1; i < intervals.size(); ++ i){if (r < intervals[i][0]){ans.push_back({l, r});l = intervals[i][0], r = intervals[i][1];}else r = max(r, intervals[i][1]);}ans.push_back({l, r});return ans;}
};

http://www.ppmy.cn/server/711.html

相关文章

list

1.list 1.1list概述 list是c中stl中自带的容器&#xff0c;list是由双向链表来实现的&#xff0c;每个节点存储1个元素。list支持前后两种移动方向。 头文件: #include <list> 优势&#xff1a; 任何位置执行插入和删除动作都非常快 list与vector的区别&#xff1a; li…

跳跃算法二

给定一个长度为 n 的 0 索引整数数组 nums。初始位置为 nums[0]。 每个元素 nums[i] 表示从索引 i 向前跳转的最大长度。换句话说&#xff0c;如果你在 nums[i] 处&#xff0c;你可以跳转到任意 nums[i j] 处: 0 < j < nums[i] i j < n 返回到达 nums[n - 1] 的最…

2011年认证杯SPSSPRO杯数学建模A题(第二阶段)客机水面迫降时的姿态全过程文档及程序

2011年认证杯SPSSPRO杯数学建模 A题 客机水面迫降时的姿态 原题再现&#xff1a; 2009 年 1 月 15 日下午&#xff08;美国东部时间&#xff09;&#xff0c;US Airways 所属第 1549 航班&#xff08;空中客车 A320 客机&#xff09;在起飞后不久在纽约哈德逊河紧急迫降。经及…

东北大学软件学院计算机网络专业课-第二章(2.3 multiple access protocols 多址接入协议 )

1.链路&#xff08;Link&#xff09;有哪几种&#xff1f; 之前介绍过什么是链路&#xff0c;就是相邻两个节点之间的通信通道&#xff0c;那么这样的通信通道有哪几种&#xff1f;答案是两种&#xff0c;分别是点对点&#xff08;Point-to-Point&#xff09;与广播域&#xff…

【C++】初阶模板

&#x1f984;个人主页:修修修也 &#x1f38f;所属专栏:C ⚙️操作环境:Visual Studio 2022 泛型编程 模板是C泛型编程的基础&#xff0c;泛型编程即以一种独立于任何特定类型的方式编写代码。 模板是创建泛型类或函数的蓝图或公式。库容器&#xff0c;比如迭代器和算法&#…

Postman之安装

Postman工具之介绍与安装 Postman是什么&#xff1f;Postman有几种安装方式&#xff1f; Postman是什么&#xff1f; postman是一款http客户端的模拟器&#xff0c;它可以模拟发出各种各样的网络请求&#xff0c;用于接口测试。 Postman有几种安装方式&#xff1f; 两种&…

[疑难杂症2024-003]如何判断一张没有头信息的dcm图像,是否是压缩图像?

本文由Markdown语法编辑器编辑完成&#xff0e; 1. 前言: DCM格式&#xff0c;是医学图像领域里面的通用格式&#xff0e;DCM图像一般分为两大部分&#xff0c;一部分是TAG信息&#xff0c;一部分是像素. 而TAG信息&#xff0c;一般又会分为两部分&#xff0c;如下图所示, 是…

元宇宙VR虚拟线上展馆满足企业快速布展的需要

想要拥有一个VR线上虚拟展馆&#xff0c;展现您的城市风采或企业特色吗? 相比实体展馆搭建&#xff0c;VR线上虚拟展馆投入资金少&#xff0c;回报周期短&#xff0c;只需几个月的时间&#xff0c;您就能开始资金回笼。那么一个VR线上虚拟展馆多少钱呢? 深圳VR公司华锐视点基…