LeetCode053 Maximum Subarray
来源:互联网 发布:淘宝拍卖烂尾楼 编辑:程序博客网 时间:2024/06/05 13:22
详细见:leetcode.com/problems/maximum-subarray
Java Solution: github
package leetcode;public class P053_MaximumSubarray {public static void main(String[] args) {System.out.println(new Solution1().maxSubArray(new int[] {-2,1,-3,4,-1,2,1,-5,4}));}/* * 2 ms * 17.12% */static class Solution1 {int ans = 0; public int maxSubArray(int[] nums) { if (nums == null || nums.length == 0) return ans; int[] help = new int[nums.length]; ans = help[0] = nums[0]; for (int i = 1; i != nums.length; i ++) { help[i] = help[i - 1] > 0 ? help[i - 1] + nums[i] : nums[i]; ans = Math.max(help[i], ans); } return ans; }}/* * 2 ms * 17.12% */static class Solution2 {int ans = 0, pre = 0; public int maxSubArray(int[] nums) { if (nums == null || nums.length == 0) return ans; ans = pre = nums[0]; for (int i = 1; i != nums.length; i ++) { pre = pre > 0 ? pre + nums[i] : nums[i]; ans = Math.max(pre, ans); } return ans; }}}
C Solution: github
/* url: leetcode.com/problems/maximum-subarray/ AC 6ms 44.59%*/int maxSubArray(int* n, int nn) { int ans = 0, ni = 0, sum = 0; if (nn < 1) return 0; ans = n[0]; for (ni = 0; ni < nn; ni ++) { if (sum < 0) sum = 0; sum += n[ni]; ans = ans < sum ? sum : ans; } return ans;}int main() { int n[] = {-2,1,-3,4,-1,2,1,-5,4}; int nn = 9; printf("answer is %d\r\n", maxSubArray(n, nn));}
Python Solution: github
#coding=utf-8''' url: leetcode.com/problems/maximum-subarray @author: zxwtry @email: zxwtry@qq.com @date: 2017年4月10日 @details: Solution: 59ms 53.69%'''class Solution(object): def maxSubArray(self, n): """ :type n: List[int] :rtype: int """ nn = 0 if n == None else len(n) if nn == 0: return 0 a, sum = n[0], n[0] for i in range(1, nn): if sum < 0: sum = 0 sum += n[i] a = max(a, sum) return a
0 0
- LeetCode053 Maximum Subarray
- maximum subarray
- Maximum Subarray
- Maximum Subarray
- Maximum Subarray
- Maximum Subarray
- Maximum Subarray
- Maximum Subarray
- Maximum Subarray
- Maximum Subarray
- Maximum Subarray
- Maximum Subarray
- Maximum Subarray
- Maximum Subarray
- Maximum Subarray
- Maximum Subarray
- Maximum Subarray
- Maximum Subarray
- Centos安装数据库
- 紫书章五习题九 Bug Hunt UVA 1596
- Myeclipse 2016 SVN插件突然缺失的解决办法
- servlet之初认识
- 堆栈
- LeetCode053 Maximum Subarray
- 经典排序算法
- c#notifyIcon 托盘
- 最大子数组之和
- [阈值] SPOJ RECTANGL
- 使用指针时,容易出错的几个地方
- L1-026. I Love GPLT
- 阿里云https证书tomcat配置
- Machine Learning多元线性回归算法及优化