zoukankan      html  css  js  c++  java
  • 二维数组的求最大和(元素可连续)

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

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

  • 相关阅读:
    BZOJ-2431: [HAOI2009]逆序对数列 (傻逼递推)
    BZOJ3695 滑行
    BZOJ3689 异或之
    BZOJ3696 化合物
    BZOJ1393 [Ceoi2008]knights
    BZOJ2280 [Poi2011]Plot
    BZOJ1570 [JSOI2008]Blue Mary的旅行
    BZOJ2751 [HAOI2012]容易题(easy)
    BZOJ2818 Gcd
    BZOJ2426 [HAOI2010]工厂选址
  • 原文地址:https://www.cnblogs.com/FakerWang/p/just2.html
Copyright © 2011-2022 走看看