思路:

1、 矩形:用f[i][j][1]表示右下角为(I,j),最大的,符合条件的矩形的长,用f[i][j][2]表示右下角为(I,j),最大的,符合条件的矩形的高,预设f内所有元素为1

If(a[i-1][j]!=a[i][j])&&(a[i][j-1]!=a[i][j])

在如上两个色块中取一个面积大的,得到f[i][j][1],f[i][j][2]

If(a[i-1][j]==a[i][j])&&(a[i][j-1]!=a[i][j])

F[i][j][1]=f[i][j-1][1]+1;

F[i][j][2]=1;

If (a[i-1][j]!=a[i][j])&&(a[i][j-1]==a[i][j])

F[i][j][1]=1;

F[i][j][2]= f[i-1][j][2]+1;

If (a[i-1][j]==a[i][j])&&(a[i][j-1]==a[i][j])

F[i][j][1]=f[i][j][2]=1;

2、 正方形:

可直接利用刚才矩形得到的数据,d[i][j]表示右下角为(I,j)的最大的正方形的边长:

If(a[i-1][j]!=a[i][j])&&(a[i][j-1]!=a[i][j])

d[i][j]=min(f[i-1][j][2]+1,f[i-1][j][1],f[I,j-1][1]+1)

else d[i][j]=1;

在所有d[i][j]中取最大值

最新文章

  1. Git 基本概念及常用命令
  2. C# ArrayList的用法
  3. Hadoop学习13--zookeeper相关
  4. Titanium开发环境搭建第二个坑
  5. Android IOS WebRTC 音视频开发总结(六三)-- 2016国内IM云服务行业分析
  6. 别了 oi——一篇高三狗的滚粗遗言
  7. ECHO is off
  8. The version of CocoaPods used to generate the lockfile (*) is higher than the version of the current executable (*). Incompatibility issues may arise.
  9. hdu Just a Hook
  10. SQL语句 不足位数补0
  11. 《JS权威指南学习总结--7.9 ES5中的数组方法》
  12. phpstrom 快捷使用方式
  13. 十五、oracle 约束
  14. Python系列之heapq内置模块
  15. 解决IAR printf函数输出中文字符乱码问题
  16. C#编程中的Image/Bitmap与base64的转换及 Base-64 字符数组或字符串的长度无效问题 解决
  17. iview 动态渲染menu时active-name无效的问题
  18. 设计模式<2>------工厂模式和抽象工厂模式------创建型
  19. K8S dashboard
  20. Swift DispatchQueue

热门文章

  1. HDU2066:一个人的旅行(Dijkstra)
  2. Oracle 表空间迁移
  3. RMAN-06217: not connected to auxiliary database with a net service name
  4. android的引用库类
  5. doubango(4)--SIP协议栈传输层的启动
  6. 大大维的贪吃蛇v1
  7. 创建 OVS 外部网络 ext_net - 每天5分钟玩转 OpenStack(144)
  8. 理解javascript中的Function.prototype.bind
  9. SQL 数据库基本知识
  10. 学习篇之String()