41.Maximum Subarray-最大子数组(容易题)
来源:互联网 发布:centos openstack 编辑:程序博客网 时间:2024/05/17 02:03
最大子数组
题目
给定一个整数数组,找到一个具有最大和的子数组,返回其最大和。
注意事项
子数组最少包含一个数
样例
给出数组[−2,2,−3,4,−1,2,1,−5,3],符合要求的子数组为[4,−1,2,1],其最大和为6
挑战
要求时间复杂度为O(n)
题解
贪心法,如果当前curMax或sum小于0则丢弃,否则更新sum。如数组全部由小于0的数组成,则直接返回最大值。
public class Solution { /** * @param nums: A list of integers * @return: A integer indicate the sum of max subarray */ public int maxSubArray(int[] nums) { int sum = nums[0]; int curMax = nums[0]; int max = nums[0]; for (int i=1;i<nums.length;i++) { curMax = curMax < 0 ? nums[i] : (curMax + nums[i]); sum = curMax > sum ? curMax : sum; max = max < nums[i] ? nums[i] : max; } return sum < 0 ? max : sum; }}
Last Update 2016.8.26
0 0
- 41.Maximum Subarray-最大子数组(容易题)
- Maximum Subarray(最大子数组)
- 最大子数组(maximum subarray)问题
- Maximum Subarray [最大子数组]
- Maximum Subarray 最大子数组和(连续)@LeetCode
- LeetCode | Maximum Subarray(连续最大子数组)
- LeetCode OJ 之 Maximum Subarray (最大子数组)
- 最大子数组(The maximum-subarray problem)
- Maximum subarray -- 最大子数组问题(C++)
- 最大子数组和(The Maximum Subarray)
- LeetCode 53. Maximum Subarray(最大子数组)
- 【DP】最大子数组Maximum Subarray
- 最大子数组和 (Maximum Subarray)
- Maximum Subarray-最大连续子数组和
- 最大子数组问题 Maximum Subarray
- Maximum Subarray 和最大的子数组
- leetcode_53. Maximum Subarray-子数组最大和
- 53. Maximum Subarray(找出最大子数组)
- Servlet继承树
- C# winform绘制条形统计图的例子
- TCP三次握手是内核实现的还是应用实现的
- cocoscreate 官方例子说明 01_graphics_02_particle_ToggleParticle by:adady
- NOIP2015普及组 金币
- 41.Maximum Subarray-最大子数组(容易题)
- Spring MVC 原理小结+简单应用
- Java的不同版本:J2SE、J2EE、J2ME的区别
- 数据库基础mysql
- ubuntu安装文本编辑器Light Table
- Spark Streaming 结合Spark SQL 案例
- 敏捷开发相关讨论
- 报价单问题记录
- king