二维数组的求最大和(元素可连续)

本次软件工程课堂留的作业是二维数组子数组和的最大值,不过和上次不同的是,这次子数组只要元素是连续的,挨着的就要算在一起。暴力枚举的方法起始在这里也饿并不是那么容易设实现的,既要将数据的值加起来,还要记录下每个包含元素的位置,即在二维矩阵中的位置(x,y);所以还是换一种方式,首先将矩阵进行甄别,将矩阵中的元素排序,找到最大的元素,并以这个元素为中心找出一个九宫格(当然是要这个元素周围存在其他的元素,可以按照加入顺序,上方向并顺时针方向找元素),这样每加一个元素,就进行判断,是否比之前所有的连续和大,如果是的话,就将最大值更换,否则,据需进行加。直到查找完毕“九宫格”,此时再以另一个元素为中心,添加“九宫格”。直到所有元素都进行过查找九宫格的方式。但要实现起来却不是我们所能简单的描述的。

所以,以上只是一个思考的过程,具体的程序实现还要大家不吝赐教。

转载于:https://www.cnblogs.com/FakerWang/p/just2.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值