zoukankan      html  css  js  c++  java
  • 软件工程个人作业05(二维数组求最大子数组的和)

      题目:返回一个二维整数数组中最大联通子数组的和。
      要求:输入一个二维整形数组,数组里有正数也有负数。
    求所有子数组的和的最大值。要求时间复杂度为O(n)。

      程序要使用的数组放在一个叫 input.txt 的文件中, 文件格式是:
      数组的行数,
      数组的列数,
      每一行的元素, (用逗号分开)
      每一个数字都是有符号32位整数,当然,行数和列数都是正整数。
    程序设计思路:此次试验考虑到需要求最大联通子数组和。可以定义一个类(其中有value,x,y,neighbor,select),主函数里定义一个二维的对象,具体操作如下:

    a:在二维对象中,先选出所有的正数,将其select值赋为1。

    b:将孤立的数的select值赋为0,及将那些影响子数组连通性的数排除在外。

    c:判断哪些正数的neighboe值为1,如果二维对象中所有的neighbor的值得个数大于3,则选出那个除了边缘点的点,记下他的坐标值。

    d:对于上一步的那个“另类数”,选出他的一个“邻居”,使得这个子数组是联通的。这时选出的子数组中的对象的select值为1.

    e:最后算出所有对象中select值为1的value的和。这个值就是二维最大联通子数组的和。

    程序还在开发中。。。。。

  • 相关阅读:
    bzoj 4566: [Haoi2016]找相同字符
    杜教筛模板
    bzoj 3772 :精神污染 线段树+打标记 or 主席树
    bzoj 3779: 重组病毒
    bzoj 3357: [Usaco2004]等差数列
    bzoj 3551: [ONTAK2010]Peaks加强版
    bzoj 4358: permu 莫队
    线段树分裂合并
    bzoj 3065 带插入区间k小值
    子串 [NOIP2015]
  • 原文地址:https://www.cnblogs.com/yibao/p/6679806.html
Copyright © 2011-2022 走看看