问题描述:

ind 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.

public class MaxSubarray
{
public int maxSubArray(int[] nums)
{
int sum = nums[0];
int max = nums[0];
for(int i = 1; i < nums.length; i ++)
{
if(sum < 0)
{
sum = 0;
}
sum += nums[i];
if(max < sum)
{
max = sum;
}
}
return max;
}
//穷举法O(n^3)
public int maxSubArray1(int[] nums)
{
int max = 0;
for(int i = 0; i < nums.length; i ++)
{
for(int j = i; j < nums.length; j ++)
{
int sum = 0;
for(int k = i; k < j; k ++)
{
sum += nums[k];
}
if(sum > max)
{
max = sum;
}
}
}
return max;
}
//O(n^2)
public int maxSubArray2(int[] nums)
{
int max = 0;
for(int i = 0; i < nums.length; i ++)
{
int sum = 0;
for(int j = i; j < nums.length; j ++)
{
sum += nums[j];
if(sum > max)
{
max = sum;
}
}
}
return max;
}
}

最新文章

  1. include使用中注意的问题
  2. 在CentOS 7上安装Node.js的4种方法
  3. Java基础(30):String对象的常用方法与实例(String类)
  4. struct和class 区别
  5. Linux - 简明Shell编程07 - 数组(Array)
  6. Beta Scrum
  7. kdump简单的介绍
  8. Selenium 笔记
  9. Harmonic Number (II) LightOJ - 1245 (找规律?。。。)
  10. 初探和实现websocket心跳重连(npm: websocket-heartbeat-js)
  11. 如何进行CodeReview
  12. winform菜单栏、工具栏
  13. Java图形处理
  14. 009.MySQL-Keepalived搭配脚本03
  15. Java并发(十四):并发工具类——CountDownLatch
  16. clr via c#读书笔记五:常量和字段
  17. 【斜率优化】bzoj3675-[Apio2014]序列分割&amp;&amp;Uoj104
  18. (转)python学习链接
  19. Swing要点
  20. 卸载重安firefox

热门文章

  1. IntelliJ IDEA 工具技巧
  2. MonogoDB----Date()
  3. mysql 中用户默认密码加密问题
  4. c++相关知识
  5. ES6通过Set数组去重
  6. SpringMVC 之拦截器和异常处理
  7. 原!findbugs:NP_NULL_ON_SOME_PATH_FROM_RETURN_VALUE 和 OBL_UNSATISFIED_OBLIGATION
  8. Pycharm在创建py文件时,自动添加文件头注释
  9. static关键字注意事项
  10. django 中模板语言的各种用法