leetcode53. 最大子数组和(暴力+贪心)
生活随笔
收集整理的這篇文章主要介紹了
leetcode53. 最大子数组和(暴力+贪心)
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
一:論語
追求利益的同時 我們需要控制度 就好比鵝廠的王者榮耀 賺的盆滿缽滿 坑壞了多少青少年 但是鵝廠早已經開始控制度了
二:題目
三:上碼(暴力+貪心)
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;} };
加油
總結
以上是生活随笔為你收集整理的leetcode53. 最大子数组和(暴力+贪心)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 壹号本显卡坞 ONEXGPU 售价 59
- 下一篇: leetcode55. 跳跃游戏