Leetcode-Maximum Subarray-Python
来源:互联网 发布:网络教育的优点 编辑:程序博客网 时间:2024/05/15 05:26
Maximum Subarray
最大子串和问题:从一个数组中找出一个子串使其和最大。
Description
tips:
子串是指数组中连续的若干个元素,而子序列只要求各元素的顺序与其在数组中一致,而没有连续的要求。
解题思路:
自己没有想出来,直接借鉴了网上的动态规划思路,我觉得下面是一些解决的关键点:
- 对于array[1…n],如果array[i…j]就是满足和最大的子串,那么对于任何k(i<=k<=j),我们有array[i…k]的和大于0。具体证明
- 假设已知0, .., k的最大和sum[k]以后,则0, …, k+1的最大和sum[k+1]分为以下两种情况:
1)若sum[k]>=0,则sum[k+1]=sum[k]+A[k+1]。代码中即curSum = curSum+nums[i]。
2)若sum[k]<0,另起一个SubArray,令sum[k+1]=A[k+1]。代码中即curSum = nums[i]。
def maxSubArray(self, nums): """ :type nums: List[int] :rtype: int """ if not nums: return 0 curSum = maxSum = nums[0] for i in range(1, len(nums)): curSum = max(nums[i], curSum+nums[i]) maxSum = max(maxSum, curSum) return maxSum
阅读全文
0 0
- leetcode:Maximum Subarray---python
- Maximum Subarray Leetcode Python
- Leetcode-Maximum Subarray-Python
- 【Leetcode】【python】Maximum Subarray
- 【LeetCode with Python】 Maximum Subarray
- Maximum Prodyct Subarray Leetcode Python
- [leetcode:python]53.Maximum Subarray
- [Leetcode]152. Maximum Product Subarray @python
- 【LeetCode】Maximum Subarray 和 Maximum Product Subarray
- LeetCode: Maximum Subarray
- LeetCode Maximum Subarray
- [Leetcode] Maximum Subarray
- LeetCode: Maximum Subarray
- leetcode 25: Maximum Subarray
- [LeetCode] Maximum Subarray
- [Leetcode] Maximum Subarray
- [LeetCode]Maximum Subarray
- [leetcode]Maximum Subarray
- HttpClient网络请求
- Vim插件配置的几个网址
- 路径问题
- 记录些踩过的坑-在linux中安装mysql
- 2017百度之星初赛(B)1005度度熊的交易计划------hdu6118
- Leetcode-Maximum Subarray-Python
- Android—(实现仿网易新闻的顶部导航指示器)
- jzoj 1262 为奶牛熄灯
- 【Java】JSTL
- 反射之invoke方法
- 对递归的理解
- meta 标签
- 用位操作实现+
- win32编程之进程