剑指 Offer 42. 连续子数组的最大和
题目链接:剑指 Offer 42. 连续子数组的最大和
题解思路:面试题42. 连续子数组的最大和(动态规划,清晰图解)
class Solution {
public:
int maxSubArray(vector<int>& nums) {
int result = -999999;
int aum = 0;
for(int i = 0; i < nums.size(); i++){
if(aum < 0)aum = nums[i];
else aum += nums[i];
result = max(result, aum);
}
return result;
}
};
剑指 Offer 47. 礼物的最大价值
题目链接:剑指 Offer 47. 礼物的最大价值
解题思路:
面试题47. 礼物的最大价值(动态规划,清晰图解)
class Solution {
public:
int maxValue(vector<vector<int>>& grid) {
int i, j;
for(i = 0; i < grid.size(); i++){
for(j = 0; j < grid[0].size(); j++){
if(i == 0 && j == 0){
continue;
}
if(i == 0){
grid[i][j] += grid[i][j - 1];
continue;
}
if(j == 0){
grid[i][j] += grid[i - 1][j];
continue;
}
grid[i][j] += max(grid[i - 1][j], grid[i][j - 1]);
}
}
return grid[i - 1][j - 1];
}
};