博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
返回一个二维整数数组中最大联通子数组的和
阅读量:7200 次
发布时间:2019-06-29

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

一.题目

    输入一个二维整形数组,数组里有正数也有负数。

求所有子数组的和的最大值。

二.设计思想

(方法一)首先若要对二维数组进行分析,通常想要把它化简成为一个一维数组。再先求每个一维数组的最大子数组和,并记下每行最大一维子数组的下标。这是就会分两种情况:第一种是行之间的最大子数组是相连的,这时就可以直接相加得到;第二种是不相连的,,这时候就把每行的最大子数组看成一个整体,再使每个最大数组块进行相连,求使其相连的最小代价。最后得到的就是最大联通子数组的和。

(方法二)在二维整形数组中,数据可能会有正也有负,要求最大值,我们重点关注正数,所以要首先判断二维数组中哪些位置上的数是正数,利用另一个二维数组记录正数的位置,然后判断哪些数是连通的。首先定位这个二维数组中的最大值,然后在分析这个值周围的4个数,联通这4个数中的正数,若全为负数,则查找次大值,并与最大值联通,判断联通前与联通后值得大小,若变小则不联通最大值,若变大则联通最大值,以此类推,直到最大联通子数组怎么联通都比原来的值小。

转载于:https://www.cnblogs.com/weaponx/p/4583080.html

你可能感兴趣的文章
Google发布Puppeteer 1.0
查看>>
ASP.NET 5 and .NET Core RC 准备投入使用
查看>>
微众银行的金融级消息服务平台建设实践和思考
查看>>
2016一周年点滴收获总结——遇见Elixir
查看>>
小米人员架构调整:组建中国区,王川任总裁
查看>>
Scala模式匹配的亮点——Martin Odersky访谈(四)
查看>>
InfoQ观点:Java EE的未来
查看>>
无服务器架构将DevOps带入新层次
查看>>
敲山震虎?继MongoDB之后,AWS又对Elasticsearch下手了
查看>>
中国法院裁定:禁售部分型号苹果手机
查看>>
Amazon Aurora新增“回溯”特性,让DB集群可以回退到特定时间点
查看>>
京东构建了全球最大的Kubernetes集群,没有之一
查看>>
IBM和Lightbend宣布构建新认知开发平台的战略
查看>>
传承or创新 ?解密分布式数据库自研修炼之路
查看>>
BAT都有哪些AIOps的经典案例?
查看>>
微软推出Windows Lite,目标Chrome OS上网本
查看>>
InfoQ中文站2015年度优秀社区编辑评选揭晓
查看>>
苹果在GitHub上正式开源iOS内核源码
查看>>
网易云基于Prometheus的微服务监控实践
查看>>
.NET特性:异步流
查看>>