求一个整数数组的连续子数组的最大和.
来源:互联网 发布:淘宝网男士皮欧上衣 编辑:程序博客网 时间:2024/05/29 13:56
/**
思路:时间复杂度O(n).
1.首先设置两个变量来进行数组元素相机加的传递。sum和b.
2.判断b<0(说明前面的数加起来已经为负数了),将后面a[i]的值给它,这时b进行了个跳跃。
3.如果b不小于0,则继续加上a[i];最后将b和sum进行对比,sum<b的话,将b的值给它,这样sum数组就一直保持着一个最大的状态,而且还随着b的跳跃一直保持着。
<span style="font-family: Arial, Helvetica, sans-serif;">*/</span>
public class Main{ public static void main (String[] args) throws java.lang.Exception{ int[] a = {-10,-2,6,-4,8,-3,-4}; int sum = 0; //当数组全是负数的时候,将sum=a[0]初始化就可以了。 int b = 0; for(int i = 0 ; i < a.length;i++){ if(b<0) b=a[i]; else b+=a[i]; if(sum<b) sum=b; } System.out.println(sum);}}
0 0
- 求一个整数数组的连续子数组的最大和.
- 求一个数组中连续子数组的最大和
- 求一个整数数组的子数组的最大和
- 求连续子数组的最大和
- 求连续子数组的最大和
- 求连续子数组的最大和
- 求连续子数组的最大和
- 求连续子数组的最大和
- 求连续子数组的最大和
- 求连续子数组的最大和
- 求连续子数组的最大和
- 求连续子数组的最大和
- 求连续子数组的最大和
- 求连续子数组的最大和
- 求连续子数组的最大和
- 求连续子数组的最大和
- 求连续子数组的最大和
- 求连续子数组的最大和
- 第八周项目1——建立顺序串的算法库
- qemu QLIST数据结构
- Hi3516a 调试GMM 出现问题
- 第七周项目5-排队看病模拟
- 第四周项目3(1)-单链表应用 逆置单链表
- 求一个整数数组的连续子数组的最大和.
- memcache 缓存 分布式锁原理
- 数据结构-高级排序
- URI和URL的区别
- Java基础学习总结(69)——匿名内部类与Lambda表达式
- Atom编辑器小试
- 关于MVC、MVVM等一大堆思想
- SpringMVC中使用Interceptor拦截器
- Qt之对应用实现截屏并保存