Python、C++、JavaScript、SQL、TypeScript の多様な LeetCode ソリューションを探索してください。面接の準備、学習、複数のプログラミング言語でのコードの練習に最適です。 Github リポジトリ リンク
目次
トグル中くらい
整数配列が与えられた場合 数字
、最大の合計を持つ部分配列を見つけて返します。 その合計.
例 1:
入力: 数値 = [-2,1,-3,4,-1,2,1,-5,4] 出力: 6 説明: 部分配列 [4,-1,2,1] の最大和は 6 です。
例 2:
入力: 数値 = [1] 出力: 1 説明: 部分配列 [1] の合計が最大の 1 になります。
例 3:
入力: 数値 = [5,4,-1,7,8] 出力: 23 説明: 部分配列 [5,4,-1,7,8] の最大合計は 23 です。
制約:
1 <= nums.length <= 10 5
-10 4 <= nums[i] <= 10 4
フォローアップ: 理解できた場合は、 の上)
解決策がある場合は、を使用して別のソリューションをコーディングしてみてください。 分割して征服する これはより微妙なアプローチです。
パイソン
class 解決策: def maxSubArray(self, nums: List[int]) -> int: maxNum = -100000 sum = 0 for i in range(len(nums)): sum += nums[i] if sum < nums[i] ]: sum = nums[i] maxNum = max(sum, maxNum) return maxNum