LeetCode——053

来源:互联网 发布:linux远程访问数据库 编辑:程序博客网 时间:2024/06/05 04:02

这里写图片描述
/*
53. Maximum Subarray My Submissions QuestionEditorial Solution
Total Accepted: 108862 Total Submissions: 297759 Difficulty: Medium
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.

click to show more practice.

Subscribe to see which companies asked this question

Show Tags
Show Similar Problems

*/
/*
解题思路:
如果在研究当前位置时,从前面累加的sum<0则一定要置sum=0
*/

class Solution {public:    int maxSubArray(vector<int>& nums) {        int maxval=nums[0];        int sum=0;        for(int i=0;i<nums.size();i++){            sum+=nums[i];            maxval=max(maxval,sum);            if(sum<0 ){              sum=0;            }        }        return maxval;    }};
0 0
原创粉丝点击