【LeetCode】Maximum Subarray
来源:互联网 发布:网络推广网站排名 编辑:程序博客网 时间:2024/06/08 09:03
Maximum Subarray
Total Accepted: 20964 Total Submissions: 62498 My Submissions
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.
【解题思路】
最大连续子数组和。
初始值tempSum为0,扫描数组,如果tempSum<0,tempSum=A[i],否则就累加。
每次和maxSum比较大小,取最大值。
Total Accepted: 20964 Total Submissions: 62498 My Submissions
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.
【解题思路】
最大连续子数组和。
初始值tempSum为0,扫描数组,如果tempSum<0,tempSum=A[i],否则就累加。
每次和maxSum比较大小,取最大值。
Java AC 408ms
public class Solution { public int maxSubArray(int[] A) { int len = A.length; if(len == 1){ return A[0]; } int maxSum = A[0]; int tempSum = 0; for(int i = 0; i < len ; i++){ if(tempSum < 0){ tempSum = A[i]; }else if(tempSum >= 0){ tempSum += A[i]; } if(tempSum > maxSum){ maxSum = tempSum; } } return maxSum; }}
Python AC 300ms
class Solution: # @param A, a list of integers # @return an integer def maxSubArray(self, A): if A is None or len(A) == 0: return 0 a_len = len(A) maxSum = A[0] tempSum = 0 for i in range(a_len): if tempSum < 0: tempSum = A[i] else: tempSum += A[i] if tempSum > maxSum: maxSum = tempSum return maxSum
0 0
- 【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
- LeetCode-Maximum Subarray
- [leetcode] Maximum Subarray
- LeetCode 45: Maximum Subarray
- LeetCode - Maximum Subarray
- LeetCode:Maximum Subarray
- LeetCode 53: Maximum Subarray
- 【leetcode】Maximum Subarray
- Leetcode Maximum Subarray
- DDD领域模型分析
- iOS 快速切换开发环境
- 趁现在V形地
- Untiy3D在美工方面需要知道的知识(更多资讯群193521697邀请码:10026)
- 趁现在V形地
- 【LeetCode】Maximum Subarray
- linux库的生成与使用
- useradd/usermod/userdel
- 使用preparedstatement出现的异常
- 雅霜影视网-变形金刚4:绝迹重生【抢先版】免费分享!!!!
- 使用eclipse来开发android源码
- unit test mock 带有抛出异常的方法时,要在unittest上显示抛出异常,否则报错,而且编译器不提示要抛出异常
- linux安装程序过程学习 VMware Player虚拟机内的linux连接网络
- xCode常用插件