Leetcode-53 Maximum Subarray
#53. Maximum Subarray
Find the contiguous subarray within an array (containing at least one number) which has the largest sum.
For example, given the array [-2,1,-3,4,-1,2,1,-5,4]
,
the contiguous subarray [4,-1,2,1]
has the largest sum = 6
.
题解:动态规划解这题,假设max_sum记录了前k个元素的最大子序列和,这时添加第k+1个元素,由于是连续子序列这个限制,所以如果k+1这个元素之前的和是小于0的,那么对于增大k+1这个元素从而去组成最大子序列是没有贡献的,所以可以把sum 置0。举个例子,-1, -2 ,4, -5, 7这里假定7为第k+1个元素,那么很明显可以看出,之前的sum = -5 + 4 =-1,那么这样对于7来说只会减少它,所以直接置sum = 0, 0 + 7才能得到正确的答案。再拓展这个数组, -1, -2, 4, -5, 7, 1 这里1之前的sum = 7 > 0,对于后面的1来组成最大子序列是有贡献的,所以sum = 7 + 1 =8。再注意一点,只要sum不减到负数,中间出现小于0的元素是没关系的,sum仍然可以继续累加。
即临时sum[k+1]=max{nums[i],nums[i]+sum[k]},用max_sum存储最大的子序列和不断更新即可。
class Solution { public:int maxSubArray(vector<int>& nums) {if(nums.size()==0)return 0;int sum=nums[0];int max_sum=sum;for(int i=1;i<nums.size();i++){sum=max(nums[i],sum+nums[i]);max_sum=max(sum,max_sum);}return max_sum;} };
转载于:https://www.cnblogs.com/fengxw/p/6083786.html
Leetcode-53 Maximum Subarray相关推荐
- 【DP】LeetCode 53. Maximum Subarray
LeetCode 53. Maximum Subarray Solution1:我的答案 动态规划 class Solution { public:int maxSubArray(vector< ...
- 【动态规划】LeetCode 53. Maximum Subarray
LeetCode 53. Maximum Subarray 原题描述(求子序列最大和/最大子串):Find the contiguous subarray within an array (conta ...
- [Lintcode]41. Maximum Subarray/[Leetcode]53. Maximum Subarray
41. Maximum Subarray/53. Maximum Subarray 本题难度: Eas Topic: Dynamic Programming Description Given an ...
- LeetCode(53):Maximum Subarray
Maximum Subarray: Find the contiguous subarray within an array (containing at least one number) whic ...
- [LeetCode]: 53: Maximum Subarray
题目: Find the contiguous subarray within an array (containing at least one number) which has the larg ...
- leetCode 53. maximum subarray
Find the contiguous subarray within an array (containing at least one number) which has the largest ...
- LeetCode#53 Maximum Subarray
Problem Difinition: Find the contiguous subarray within an array (containing at least one number) wh ...
- C#解leetcode 53.Maximum Subarray
Find the contiguous subarray within an array (containing at least one number) which has the largest ...
- 53.Maximum Subarray
/** 53.Maximum Subarray * 2016-5-7 by Mingyang * 如果我们从头遍历这个数组.对于数组中的其中一个元素,它只有两个选择: 1.* 要么加入之前的数组加和之 ...
- LeetCode 53. Maximum Subarray--动态规划--C++,Python解法
题目地址:Maximum Subarray - LeetCode Given an integer array nums, find the contiguous subarray (containi ...
最新文章
- 【复盘】小朋友的奇思妙想
- 敏捷开发中如何定义“完成”?
- 源码里throw new RuntimeException(“Stub!“)什么意思
- C++继承与派生(原理归纳)
- eclipse log4j 日志直接定位到source
- 若依的框架怎么样_基于bootstrapTable的若依框架如何获取表格选中行的整行数据?...
- setcellvalue 格式_POI对Excel单元格的格式的设置参数
- VUE页面实现加载外部HTML方法
- myeclipse中对jar包中的类热部署调试方法介绍
- 深入浅出TCP三次握手 (多图详解)
- 飞行CSS3导航菜单
- signature=1be7575a614ba3597c2c53247a739d1c,18-02-07【摄影机系统】ARRI大画幅摄影机系统常见问题解答...
- 2022蓝桥杯B组—积木画——递推算法
- 你究竟多想成功?(nba励志视频)
- 使用Arduino Motor Shield控制步进制电机
- 在chrome中设置禁止访问的网站
- 使用 Web3.js 连接以太坊节点并查询区块链数据
- Linux添加用户练习
- 迅为RK3568开发板实现的NVR/XVR方案
- Cesium淹没分析(干货)
热门文章
- 【机器视觉】 dev_set_paint算子
- 【STM32】硬件随机数程序示例
- 【Linux】一步一步学Linux——nm命令(250)
- 【C++】 C++标准模板库(八) MultiMaps
- powermock跳过某方法_变频调速电动机产生机械共振原因和处理方法
- mysql安装ssl证书_Mysql配置ssl证书
- struts2找不到action_第一次用上Struts2框架做Web开发的体验……
- mac m1下golang连接mysql极速入门
- wasm-simd入门(卷积指令)
- 移动零—leetcode283