[LeetCode] 0053. 最大サブ配列

最大サブアレイ

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
				
			
ja日本語