Leetcode Maximum Subarray

来源:互联网 发布:超奥特曼8兄弟知乎 编辑:程序博客网 时间:2024/05/06 00:02

Leetcode Maximum Subarray 相关代码,本方法使用dp算法完成,代码使用c++实现,并提供相关测试。
这个算法,我相当喜欢,以O(n)的时间完成相关操作,简直!!!Awesome!!!

#include <iostream>#include <vector>using namespace std;class Solution {public:    int maxSubArray(vector<int>& nums) {        int maxNum = nums[0];        int limit = 0;        for (int i = 0; i < nums.size(); i ++) {            limit += nums[i];            if (limit > maxNum) {                maxNum = limit;            }            if (limit < 0) {                limit = 0;            }        }        return maxNum;    }};int main() {    vector<int> a;    a.push_back(-1);    a.push_back(-2);    a.push_back(-3);    a.push_back(4);    a.push_back(-1);    a.push_back(2);    a.push_back(1);    a.push_back(-5);    a.push_back(-4);    Solution *so = new Solution();    int re = so->maxSubArray(a);    cout<<"the result is: "<<re<<endl;}
0 0
原创粉丝点击