
一日额发过去鳄鱼过热器套娃给他热气乌鸦头发工业缺乏好热球阀次UR额去哈覅u额去回复阿胶
关注让阿豪来帮你解答,本回答参考chatgpt3.5编写提供,如果还有疑问可以评论或留言问题:给定一个长度为 n 的数组 nums,找到其中的一个子序列,使得该子序列的和最大。 回答:
def maxSubArray(nums: List[int]) -> int:
n = len(nums)
ans = float('-inf')
for i in range(n):
for j in range(i, n):
curr_sum = 0
for k in range(i, j+1):
curr_sum += nums[k]
ans = max(ans, curr_sum)
return ans
def maxSubArray(nums: List[int]) -> int:
n = len(nums)
dp = [0] * n
dp[0] = nums[0]
ans = dp[0]
for i in range(1, n):
dp[i] = max(dp[i-1]+nums[i], nums[i])
ans = max(ans, dp[i])
return ans
def maxSubArray(nums: List[int]) -> int:
n = len(nums)
if n == 1:
return nums[0]
left_max = maxSubArray(nums[:n//2])
right_max = maxSubArray(nums[n//2:])
cross_max = nums[n//2-1] + nums[n//2]
left_sum = right_sum = 0
for i in range(n//2-1, -1, -1):
left_sum += nums[i]
cross_max = max(cross_max, left_sum)
for i in range(n//2, n):
right_sum += nums[i]
cross_max = max(cross_max, right_sum)
return max(left_max, right_max, cross_max)