博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
求数组中两个子数组最大和
阅读量:4634 次
发布时间:2019-06-09

本文共 809 字,大约阅读时间需要 2 分钟。

数组中两个子数组最大和

在一个数组中找两个子数组,求其最大和(子数组不重合,不空)

 

算法:

  1. 设变量cur,max  cur=max=arr[0]
  2. Cur<0 à cur=0  cur+=arr[i]    max=Math.max
  3. 应用上面的,对arr从左遍历及从右遍历,得到L,R数组  L[i]/R[i]代表从左(右)开始到当前位置的子数组最大和
  4. 求最大的L[i]+R[i+1]
public int getFromTwoArray(int[] arr){        int[] L = new int[arr.length];        int[] R = new int[arr.length];        int max;        L = this.getFromArray(arr);        R = this.getFromArray(arr, "right");        max = L[0] + R[1];        for(int i=1;i
=0;i--){ if(cur<0){ cur = 0; } cur += arr[i]; max = Math.max(cur, max); maxArr[i] = max; } return maxArr; }else{ throw new RuntimeException("error"); } }

 

转载于:https://www.cnblogs.com/cyx-garen/p/9012625.html

你可能感兴趣的文章
任意阶幻方(魔方矩阵)C语言实现
查看>>
视频教程--ASP.NET MVC 使用 Petapoco 微型ORM框架+NpgSql驱动连接 PostgreSQL数据库
查看>>
第五次作业
查看>>
织梦教程
查看>>
杭电多校 Harvest of Apples 莫队
查看>>
【文章】孝心无价 作者:毕淑敏
查看>>
mysql中的数据类型
查看>>
19-6/28作业:100以内偶数求和
查看>>
TKmybatis和mybatisplus哪个好用
查看>>
iframe 子父窗口互掉 js
查看>>
函数对象 函数嵌套 名称空间与作用域
查看>>
SSIS 包部署错误 0xC0010014
查看>>
java 第11次作业:你能看懂就说明你理解了——this关键字
查看>>
git 代理设置
查看>>
ORACLE查询表最近更改的数据
查看>>
如果我们不曾相遇
查看>>
输入圆的半径,计算并输出圆的周长和面积
查看>>
metric learning -- 马氏距离与欧氏距离
查看>>
HashMap HashTable ConcurrentHashMap
查看>>
2进制 , 8进制 , 10进制 , 16进制 , 介绍 及 相互转换 及 快速转换
查看>>