最大连续子矩阵算法

暴力求解不可取
或许可以从 O(n)复杂度内求解最大连续子数组的算法 得到灵感

O(n2)复杂度求最大连续子矩阵和算法:

  1. 创建一个新矩阵sum,sum[i][j]存放sun[i][0-j]的和
  2. 每个候选矩阵由左上角matrix[i][j]和右下角的元素matrix[p][q]确定,这个候选矩阵的和为res += (sum[i-p][q] - sum[i-p][i-1])
  3. 遍历矩阵,得到最大子矩阵和

代码


def getMaxSub(matrix):sum = []for line in matrix:rowSum = []s = 0for i in line:s += irowSum.append(s)sum.append(rowSum)m = len(matrix)n = len(matrix[0])max = matrix[0][0]i = 0j = 0while(i<m):while(j<n):p = iwhile(p<m):q = jwhile(q<n):res = 0for row in range(i,p+1):if(i==0):res += sum[row][q]else:res += (sum[row][q] - sum[row][i-1])if(res<0): breakmax = res if max<res else maxq += 1p += 1j += 1i += 1print(max)

转载于:https://www.cnblogs.com/zxpnotebook/p/10097261.html

最大连续子矩阵和算法相关推荐

  1. C语言数组元素总和最大的连续子序列的算法(附完整源码)

    C语言数组元素总和最大的连续子序列的算法 C语言数组元素总和最大的连续子序列的算法完整源码(定义,实现,main函数测试) C语言数组元素总和最大的连续子序列的算法完整源码(定义,实现,main函数测 ...

  2. matlab8邻域搜索算法,一种基于可搜索连续邻域A*算法的路径规划方法与流程

    本发明涉及的是一种UUV全局路径规划方法. 背景技术: 无人水下航行器(Unmanned underwater vehicle,UUV)作为一种高技术手段,在海洋这块未来极具价值的发展空间中起着至关重 ...

  3. 计算机树表查找算法的适用场景,利用基于R-树连续最近邻查询算法来渲染雨滴,形成了逼真的下雨天场景图...

    摘要:自动驾驶领域最近的发展表明,这些车辆在不久的将来会出现在每个城市的街道上,而这些城市不会容忍交通事故的发生.为了保证安全需求,自动驾驶汽车和被使用的软件必须在尽可能多的条件下进行详尽的测试.通常 ...

  4. 【李宏毅深度强化学习笔记】5、Q-learning用于连续动作 (NAF算法)

    [李宏毅深度强化学习笔记]1.策略梯度方法(Policy Gradient) [李宏毅深度强化学习笔记]2.Proximal Policy Optimization (PPO) 算法 [李宏毅深度强化 ...

  5. 连续状态转移算法(STA)的实现(python版)

    背景介绍 所有的随机优化算法(GA.ABC.PSO.STA.模拟退火)都是一个套路 通过当前的一个解或者一些产生一堆新的候选解,这一步叫产生候选解 然后通过某个评价函数(评价标准)更新解,就是找一堆里 ...

  6. 在号码池取连续号码的算法

    最近项目中需要提供一个选号接口,在一批号码中检索出一批连续的号码供选则. 实现算法如下: import java.util.*; public class SerialNum { /**   * 在号 ...

  7. 最长连续子序列nlogn算法

    最长上升子序列(LIS)长度的O(nlogn)算法 标签: 算法search优化存储 2012-04-18 19:38 14031人阅读 评论(5) 收藏 举报  分类: 资料学习(15)  解题报告 ...

  8. 程序员面试题精选100题(26)-和为n连续正数序列[算法]

    题目:输入一个正数n,输出所有和为n连续正数序列. 例如输入15,由于1+2+3+4+5=4+5+6=7+8=15,所以输出3个连续序列1-5.4-6和7-8. 分析:这是网易的一道面试题. 这道题和 ...

  9. OpenCV连续自适应跟踪算法CAMShift实现视频对象跟踪

    1.概述 案例:使用OpenCV的CAMShift算法实现视频中对象跟踪 算法API介绍: 本文福利,莬费领取Qt开发学习资料包.技术视频,内容包括(C++语言基础,Qt编程入门,QT信号与槽机制,Q ...

最新文章

  1. php无法引用,PHP错误:“无法通过引用传递参数2”
  2. Topcoder SRM570 900 CurvyonRails
  3. 基于DBus的进程间通信(IPC)
  4. 网站如何启用SSL安全证书?IIS7启用新建Https:/
  5. element vue 获取select 的label_Vue动态组件component的深度使用
  6. 【数学题】男女的比例
  7. 【渝粤题库】陕西师范大学209010 现代教育战略 作业 (专升本)
  8. oracle 查看当前登录用户和所有用户
  9. python 线程(一)理论部分
  10. Windows Eclipse Maven 安装
  11. Arcgis Javascript那些事儿(六)--arcgis js API本地环境配置
  12. java se基础复习3
  13. 7-60 致命的珠宝 (10分)
  14. 基于jsp+java+ssm的大学生缴费系统
  15. TextView里的setText方法
  16. KStar ----BPM应用框架,K2 的新星
  17. sae项目服务器,sae服务器 mysql数据库
  18. 快速排序算法原理详解
  19. 系统性能指标 (并发用户数、响应时间、及系统吞吐量)
  20. C#文件压缩:ICSharpCode.SharpZipLib生成zip、tar、tar.gz

热门文章

  1. 【Zigbee技术入门教程-02】一图读懂ZStack协议栈的核心思想与工作机理
  2. P1021 邮票面值设计
  3. machine ID问题 ( u-boot设置machine id , set mach_type 0x16a )
  4. WordPress Mail Subscribe List插件‘sml_name’参数HTML注入漏洞
  5. IIS错误与解决方法
  6. asp.net web services
  7. maven如何修改本地仓库与中央仓库
  8. 汇编 --- 初体验
  9. Echarts --- 各个省份的坐标
  10. 电池技术多年没有较大发展,成为移动设备最大制约