摘要:如果單開元素加和更大判斷前面的子數組和是不是小于。此元素就成為了子數組的第一個元素。每次操作都要判斷,當前是否是最大值,更新值。
題目詳情
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.
輸入:給定數組解法一
輸出:找出給定數組所包含的連續的子數組中,元素加和最大的那一組,返回最大和
思路:
在遍歷數組的每一個元素的時候,我們都要思考一個問題——是從這個元素重新開啟一個子數組的加和更大,還是和前面的元素一起加和更大。
如果單開元素加和更大(判斷前面的子數組和是不是小于0)。我們就將保存當前和的nowValue賦值為當前元素。此元素就成為了子數組的第一個元素。
或者將當前元素直接加入子數組。每次操作都要判斷,當前value是否是最大值,更新max值。
int max = Integer.MIN_VALUE; int nowValue = 0; for(int i=0;i
文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。
轉載請注明本文地址:http://m.specialneedsforspecialkids.com/yun/68214.html
摘要:我們可以分別得出這三種情況下的最大子數列和,并比較得出最大的那個。我們只需要考慮左子列的最大和以及跨越了左右的中子列的最大值。 題目要求 Find the contiguous subarray within an array (containing at least one number) which has the largest sum. For example, given ...
摘要:前言從開始寫相關的博客到現在也蠻多篇了。而且當時也沒有按順序寫現在翻起來覺得蠻亂的。可能大家看著也非常不方便。所以在這里做個索引嘻嘻。順序整理更新更新更新更新更新更新更新更新更新更新更新更新更新更新更新更新 前言 從開始寫leetcode相關的博客到現在也蠻多篇了。而且當時也沒有按順序寫~現在翻起來覺得蠻亂的。可能大家看著也非常不方便。所以在這里做個索引嘻嘻。 順序整理 1~50 1...
摘要:問題本質本質動態規劃問題。局部最優,全局最優。乘法問題,存在的情況是負數或者正數,或者從當前數開始新的連續元素相乘可能發生的情況在某個節點,繼續之前的增大減小,從此節點轉折。所以只要在局部動態中,保持最大最小當前,進行判斷保留即可。 Given an integer array nums, find the contiguous subarray within an array (co...
摘要:復雜度思路要保留一個到某一位來看的最大值和最小值。因為在數組中有負數的出現,所以到這一位為止的能得到的最大值,可能是由之前的最大值和這個數相乘得到,也可能是最小值和這個數相乘得到的。 Leetcode[152] Maximum Product Subarray Find the contiguous subarray within an array (containing at le...
Problem Given an array nums and a target value k, find the maximum length of a subarray that sums to k. If there isnt one, return 0 instead. Note The sum of the entire nums array is guaranteed to fit ...
閱讀 2222·2021-09-30 09:47
閱讀 980·2021-08-27 13:01
閱讀 2968·2019-08-30 15:54
閱讀 3693·2019-08-30 15:53
閱讀 834·2019-08-29 14:07
閱讀 721·2019-08-28 18:16
閱讀 806·2019-08-26 18:37
閱讀 1415·2019-08-26 13:27