一:论语
追求利益的同时 我们需要控制度 就好比鹅厂的王者荣耀 赚的盆满钵满 坑坏了多少青少年 但是鹅厂早已经开始控制度了
二:题目
三:上码(暴力+贪心)
1:暴力
class Solution {
public:
int maxSubArray(vector<int>& nums) {
/**
暴力解法:我们用一个二维数组 那么我每次从这个 第一层的for循环出发 我们来确定我们从此下标进行
第二层的for循环往后统计出最大值 并不断更新
*/
int max = nums[0];
int temp;
for(int i = 0; i < nums.size(); i++ )
{
temp = 0;
for( int j = i; j < nums.size(); j++ )
{
temp+=nums[j];
if(temp > max)
{
max = temp;
}
}
}
return max;
}
};
2:贪心
class Solution {
public:
int maxSubArray(vector<int>& nums) {
/**
贪心解法:
1.这里让求的是最大的和,所以我们在累加和的时候。如果一开始的这个值是负数的话,那么无论它如何相加最终
都会将是比起原来要小的数,所以如果是负数的话 我们就和归为0,直到我们的和是正数为止。
2.那么我们相加的和为正数 但是遇见了负数,此时相加的和如果也是正数的话,其实我们的和是不做变化的
即便连续几个负数 但是我们最终保留的和仍然是 原来最大的正数和
*/
int max = INT_MIN;
int sum = 0;
for(int i = 0; i < nums.size(); i++) {
sum += nums[i];
if(sum > max) {//如果相加的和大于max 就更新,
max = sum;
}
if(sum < 0 ) sum = 0;//如果sum是等于的0的那就归零处理
}
return max;
}
};
加油