53. Maximum Subarray
来源:互联网 发布:张起灵 知乎 编辑:程序博客网 时间:2024/06/07 03:15
Find the contiguous subarray within an array (containing at least one number) which has the largest sum.
Example:
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
.
Note:
If you have figured out the O(n) solution, try coding another solution using the divide and conquer approach, which is more subtle.
Source Code(C++):
#include <iostream>#include <vector>#include <algorithm>using namespace std;/******************************************//时间复杂度O(n2)class Solution {public: int maxSubArray(vector<int>& nums) { int n = nums.size(); int sum = 0; int ans = nums[0]; for (int i = 0; i < n; i++) { sum = 0; for (int j = i; j < n; j++) { sum += nums[j]; ans = max(ans, sum); } } return ans; }};*********************************************///时间复杂度O(n)class Solution {public: int maxSubArray(vector<int>& nums) { int n = nums.size(); int sum = 0; int ans = nums[0]; for (int i = 0; i < n; i++) { sum += nums[i]; ans = max(ans, sum); sum = max(0, sum); } return ans; }};int main() { Solution s; vector<int> v = { -2,1,-3,4,-1,2,1,-5,4 }; cout << s.maxSubArray(v); return 0;}
0 0
- [LeetCode]53.Maximum Subarray
- LeetCode --- 53. Maximum Subarray
- 53.Maximum Subarray
- [Leetcode] 53. Maximum Subarray
- [leetcode] 53.Maximum Subarray
- 53.Maximum Subarray
- 53. Maximum Subarray
- 【leetcode】53. Maximum Subarray
- [leetcode] 53.Maximum Subarray
- 【leetcode】53. Maximum Subarray
- 53. Maximum Subarray
- LeetCode 53. Maximum Subarray
- 53. Maximum Subarray
- [LeetCode]53. Maximum Subarray
- 53. Maximum Subarray LeetCode
- 53. Maximum Subarray
- [LeetCode]53. Maximum Subarray
- 53. Maximum Subarray
- 测试下
- # java AQS设计和实现
- C++异常规范
- 机器学习基本概念(三)
- 智能手机双摄像头工作原理详解:RBG +RGB, RGB + Mono
- 53. Maximum Subarray
- InnoDB存储引擎(一)
- 蓝桥杯 2015 决赛 3 显示二叉树
- 拉取hadoop集群上的hdfs文件
- 九、用图讲解MapReduce Shuffle 过程
- 二分法排序
- 金融技术,也算技术哈?
- static的作用
- BP神经网络(完整的理论和经验公式)