当前位置: 首页 > news >正文

leetcode(动态规划)53.最大子数组和(C++详细解释)DAY12

文章目录

  • 1.题目
    • 示例
    • 提示
  • 2.解答思路
  • 3.实现代码
    • 结果
  • 4.总结

1.题目

给你一个整数数组 nums ,请你找出一个具有最大和的连续子数组(子数组最少包含一个元素),返回其最大和。

子数组 是数组中的一个连续部分。

示例

在这里插入图片描述

提示

在这里插入图片描述

2.解答思路

起初思路暴力求解,两层for循环,但超出时间限制。
查看其他题解,学习以下动态规划算法。
关于动态规划算法,后续会出一篇文章详细解释。
此处简述:
动态规划的核心思想是将原始问题分解为更小的子问题,并通过求解子问题的解来推导出原始问题的解。避免重复计算,提高算法的效率。

3.实现代码

class Solution {
public:int maxSubArray(vector<int>& nums) {int maxSum=nums[0];int n=nums.size();int sum=nums[0];//记录当下的和for(size_t i=1;i<n;++i){sum += nums[i];sum = max(sum,nums[i]);/*将当下及之前元素的和max和单个元素进行比较nums[i],求最大值若当下的和 大于 单个元素,则加和运算若当下的和 小于 单个元素,则将单个元素的值赋给max,以便后续继续求解*/maxSum=max(sum,maxSum);         }return maxSum;}
};

结果

在这里插入图片描述
暴力求解一直超时。
动态规划算法将时间复杂度降到了O(n),通过。

4.总结

前两天感冒突然严重+家中亲人走访,学习时间减少,今天病情好转,后续会继续更新学习。

自信,坚持,upup~

http://www.lryc.cn/news/302834.html

相关文章:

  • BUGKU-WEB bp
  • 代码的复用——Mixin使用例子
  • easyx 枪声模拟器
  • python 与 neo4j 交互(py2neo 使用)
  • Python基础笔记11
  • vulhub中Apache Log4j2 lookup JNDI 注入漏洞(CVE-2021-44228)
  • 智慧城市驿站:智慧公厕升级版,打造现代化城市生活的便捷配套
  • 大模型爆款应用fabric_构建优雅的提示
  • js 对象属性描述符详解
  • 文件操作QFile
  • 【Langchain】+ 【baichuan】实现领域知识库【RAG】问答系统
  • Anaconda、conda、pip、virtualenv的区别
  • 【数据结构】每天五分钟,快速入门数据结构(一)——数组
  • NBlog个人博客部署维护过程记录 -- 后端springboot + 前端vue
  • WireShark 安装指南:详细安装步骤和使用技巧
  • PyTorch detach():深入解析与实战应用
  • uniapp 开发一个密码管理app
  • Postman详细攻略
  • 如何在本地服务器部署TeslaMate并远程查看特斯拉汽车数据无需公网ip
  • 如何在CentOS安装SQL Server数据库并实现无公网ip环境远程连接
  • 备战蓝桥杯 Day5
  • 爬虫学习笔记-scrapy爬取电影天堂(双层网址嵌套)
  • Unity笔记:数据持久化的几种方式
  • MySQL 基础知识(八)之用户权限管理
  • QT编写工具基本流程(自用)
  • 代码随想录算法训练营第三六天 | 无重叠区间、划分字母区间、合并区间
  • DP读书:《openEuler操作系统》(十)套接字 Socket 数据传输的基本模型
  • 抓住母亲节销售机会:Shopee 平台选品策略大揭秘
  • Mysql如何优化数据查询方案
  • SwiftUI 更自然地向自定义视图传递参数的“另类”方式