Leetcode#53. Maximum Subarray(连续子序列的最大和)
来源:互联网 发布:数据库工程师在哪报名 编辑:程序博客网 时间:2024/05/16 05:38
题目
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.
题意
从数组中求出连续数的和的最大值。
思路
1. 暴力解法(时间复杂度为O(n2) 超时了)
C++语言
class Solution {public: int maxSubArray(vector<int>& nums) { int max=-pow(2,31),temp=0; for(int i=0; i<nums.size(); i++) { temp = 0; for(int j=i; j<nums.size(); j++) { temp+=nums[j]; if(max<temp) max = temp; } } return max; }};
2. 优化解法 (时间复杂度为0(n))
设temp为数组遍历的累加值,当前累加值大于大于max_sum时就将temp的值记录给max_sum,一旦当前的累加值小于0时,就将temp重置为0,接着累加。
C++语言
class Solution {public: int maxSubArray(vector<int>& nums) { int max=-pow(2,31),temp=0; for(int i=0; i<nums.size(); i++) { temp += nums[i]; if(temp > max) max = temp; if(temp< 0) temp = 0; } return max; }};
Python语言
class Solution(object): def maxSubArray(self, nums): """ :type nums: List[int] :rtype: int """ max = -(1<<31) temp = 0 for num in nums: temp = temp + num if temp > max: max = temp if temp < 0: temp = 0 return max
阅读全文
0 0
- leetcode | Maximum Subarray 最大连续子序列的和
- 【LeetCode】53.Maximum Subarray最大连续子序列和
- Leetcode#53. Maximum Subarray(连续子序列的最大和)
- 53. Maximum Subarray 连续子序列的最大和
- LeetCode 53. Maximum Subarray--连续子数组的最大和
- 【LeetCode】Maximum Subarray (最大连续子序列和)
- leetcode-53 Maximum Subarray 连续子数组的最大和
- [LeetCode] Maximum Subarray 求连续子数组的最大和
- LeetCode--Maximum Subarray 最大连续子序列和 (动态规划)
- Maximum Subarray连续子序列最大和 -- LeetCode(经典动态规划)
- LeetCode OJ-53.Maximum Subarray(最大连续子数组和)
- Maximum Subarray 最大子数组和(连续)@LeetCode
- 【LeetCode】 53. Maximum Subarray 最大子序列和
- 53.Maximum Subarray&连续子数组的最大和
- LeetCode-53:Maximum Subarray (和最大的连续子数组)
- Maximum Subarray 动态规划 最大连续子序列和
- LeetCode | Maximum Subarray(连续最大子数组)
- ※ Leetcode - Dynamic Programming - 53.Maximum Subarray(最大连续和)+152.Maximum Product Subarray(最大连续积)
- Windows安装jdk8U144出现错误1335问题解决
- Android 硬件 OpenGL ES 模拟设计概述
- DOM4J对XML文件的生成和解析
- 初入博客,请多多指教
- 对于一类对于约数个数问题大小的最大值以及趋向大值的求解
- Leetcode#53. Maximum Subarray(连续子序列的最大和)
- 2017年高教社杯全国大学生数学建模竞赛题目-A题 CT系统参数标定及成像
- Hession与Webservice的区别
- Spring MVC 框架的架包分析,功能作用,优点
- 数据库学习——创建计算字段
- Java中的CAS、ABA问题、ABA问题解决方案
- 51单片机的中断系统(二)
- Java中Runnable和Thread的区别
- java4