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

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.mzph.cn/web/210.shtml

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

相关文章

【Lattice FPGA 开发】Diamond的使用

文章目录 Diamond的使用教程界面器件查看与更改管脚分配RTL分析图查看 第三方工具关联Notepad 问题与解决管脚被分类到unconnected&#xff0c;导致无法分配管脚 Diamond的使用教程 【Lattice FPGA 开发】Diamond的工程建立、文件输入、ip核配置、管脚配置、综合及布线以及下载…

2024年五一杯数学建模B题思路分析

文章目录 1 赛题思路2 比赛日期和时间3 组织机构4 建模常见问题类型4.1 分类问题4.2 优化问题4.3 预测问题4.4 评价问题 5 建模资料 1 赛题思路 (赛题出来以后第一时间在CSDN分享) https://blog.csdn.net/dc_sinor?typeblog 2 比赛日期和时间 报名截止时间&#xff1a;2024…

Unity类银河恶魔城学习记录12-17 p139 In game UI源代码

Alex教程每一P的教程原代码加上我自己的理解初步理解写的注释&#xff0c;可供学习Alex教程的人参考 此代码仅为较上一P有所改变的代码 【Unity教程】从0编程制作类银河恶魔城游戏_哔哩哔哩_bilibili UI.cs using UnityEngine;public class UI : MonoBehaviour {[SerializeFie…

移远通信:立足5G RedCap新质生产力,全力推动智能电网创新发展

随着全球能源结构的转型和电力需求的持续增长&#xff0c;智能电网产业迎来了新的发展机遇。而物联网、大数据等前沿技术的创新和应用&#xff0c;正在为电力行业的发展注入强劲的新质生产力。 4月9日&#xff0c;第四十八届中国电工仪器仪表产业发展技术研讨及展会在杭州拉开帷…

第二部分 Python提高—GUI图形用户界面编程(三)

简单组件学习 Radiobutton 单选按钮、Checkbutton 复选按钮和canvas 画布 文章目录 Radiobutton 单选按钮Checkbutton 复选按钮canvas 画布 Radiobutton 单选按钮 Radiobutton 控件用于选择同一组单选按钮中的一个。Radiobutton 可以显示文本&#xff0c;也可以显示图像。 f…

当下AI驱动下的广告营销,是一个“领先的落后行业” | 第八届社交媒体风向大会

内容创作者调研显示&#xff1a;AI渗透率竟不足两成&#xff1f; 人类是智能化发展的缔造者&#xff0c;也是前行的绊脚石&#xff1f; 为什么说广告营销行业是“领先的落后行业”? 针对AI浪潮下社交媒体领域的发展&#xff0c;4月15日的风向大会上&#xff0c;微播易创始人…

基于SSM+Jsp+Mysql的准速达物流管理系统

开发语言&#xff1a;Java框架&#xff1a;ssm技术&#xff1a;JSPJDK版本&#xff1a;JDK1.8服务器&#xff1a;tomcat7数据库&#xff1a;mysql 5.7&#xff08;一定要5.7版本&#xff09;数据库工具&#xff1a;Navicat11开发软件&#xff1a;eclipse/myeclipse/ideaMaven包…

MAC M1版IDEA热部署JRebel

1、在idea里面安装jrebel插件 2、下载激活工具&#xff1a;ReverseProxy_darwin_amd64 下载地址&#xff08;Mac早期用户使用Safari下载&#xff0c;不要用Chrome&#xff0c;否则下载之后会把.dms后缀名去掉&#xff09; 特别注意&#xff1a;M1用户请使用下面的下载&#xff…

【LeetCode热题100】【堆】前 K 个高频元素

题目链接&#xff1a;347. 前 K 个高频元素 - 力扣&#xff08;LeetCode&#xff09; 要找出前K个出现频率最多的元素&#xff0c;可以先用哈希表存储每个元素出现的次数&#xff0c;然后建立一个容量为K的小顶堆&#xff0c;遍历哈希表找到更高频的元素入堆进行堆调整&#x…

擎耀解码奔驰LED矩阵大灯大灯技术方案及九大特点

在汽车工业的照明领域&#xff0c;梅赛德斯-奔驰一直是创新的先锋。其最新的ABD矩阵大灯技术方案&#xff0c;不仅体现了品牌对安全和舒适驾驶体验的不懈追求&#xff0c;更是智能照明系统发展的一个里程碑。本文将详细介绍这一技术的构成、工作原理及其带来的益处。 ABD矩阵大…

正确理解Go语言中的sync.Cond

在sync包的同步原语中,sync.Cond可能是最少被使用和理解的。但是,它提供了我们无法通过channel实现的功能。下面我们通过一个具体的示例来展示sync.Cond何时有用以及如何使用它。 下面的示例实现了捐赠目标机制:每当达到特定目标时都会发出警报的应用程序。我们将有一个gor…

第46篇:随机存取存储器(RAM)模块<五>

Q&#xff1a;本期我们使用Quartus软件的IP Catalog工具创建双端口RAM。 A&#xff1a;前期创建的RAM存储模块只有一个端口&#xff0c;同时为读/写操作提供地址。我们将再创建一个具有两个地址输入端口的RAM模块&#xff0c;分别为读操作和写操作提供地址。选择Basic Functio…

【笔试强训】双指针的思想!

1.数组中字符串的最小距离 题目链接 解题思路&#xff1a; 小技巧 ✌&#xff1a;标记两个字符串是否被找到&#xff0c;每次找到一个字符串就更新一次答案来保证找到的是最小距离。 实现代码&#xff1a; #include <iostream> using namespace std;int main() {in…

详解HashMap 的⻓度为什么是 2 的幂次⽅

通过将 Key 的 hash 值与 length-1 进行 & 运算,实现了当前 Key 的定位,2 的幂次方可以减少冲突(碰撞)的次数,提高 HashMap 查询效率; 为什么说可以减少碰撞的次数? 如果 length 不是 2 的次幂,比如 length 为 15,则 length-1 为 14,对应的二进制为 1110,与hash 值的二进…

python学习笔记B-06:序列结构之列表--列表的创建和删除

序列结构主要有列表、元组、字典、集合和字符串&#xff0c;列表是要学习的第一种序列结构。下面是列表的创建和删除方法。 import random #导入一个随机数发生器 print("创建列表方法1&#xff1a;直接列表名&#xff0c;等号&#xff0c;方括号中间内容用逗号隔开&quo…

我的角度看待人工智能

人工智能是一门研究如何使计算机模拟人类智能行为和思维过程的学科&#xff0c;它涉及到多个领域&#xff0c;包括计算机科学、心理学、哲学、语言学等。人工智能的核心目标是让机器能够执行类似于人类的智能活动&#xff0c;如学习、推理、思考、规划等。 人工智能的研究可以分…

工业网络交换机的网络容错机制

在工业领域&#xff0c;网络的稳定性和可靠性至关重要。工业网络交换机作为工业网络的核心设备之一&#xff0c;其网络容错机制对于确保工业网络的稳定运行至关重要。本文将深入探讨工业网络交换机的网络容错机制&#xff0c;以及其在保障工业网络稳定性方面的重要作用。 1. 工…

【贪心算法经典应用】活动选择详解 python

作者介绍&#xff1a;10年大厂数据\经营分析经验&#xff0c;现任大厂数据部门负责人。 会一些的技术&#xff1a;数据分析、算法、SQL、大数据相关、python 欢迎加入社区&#xff1a;码上找工作 作者专栏每日更新&#xff1a; LeetCode解锁1000题: 打怪升级之旅 python数据分析…

2007. 从双倍数组中还原原数组

目录链接&#xff1a; 力扣编程题-解法汇总_分享记录-CSDN博客 GitHub同步刷题项目&#xff1a; https://github.com/September26/java-algorithms 原题链接&#xff1a;. - 力扣&#xff08;LeetCode&#xff09; 描述&#xff1a; 一个整数数组 original 可以转变成一个 双…

ChatGPT版论文写作秘籍

ChatGPT无限次数:点击直达 ChatGPT版论文写作秘籍 在当今科技飞速发展的时代&#xff0c;人工智能技术的应用越来越广泛。其中&#xff0c;自然语言处理领域的ChatGPT模型在辅助写作方面展现出了非凡的能力。本文将为大家介绍如何利用ChatGPT改善论文写作的效率和质量。 Chat…