1) maximal square (LeetCode 221)
[要求] 找出0,1矩阵中最大的全1正方形
[定义格子A[i][j]的某种属性] 以本格A[i][j]收尾(右下角)的最大正方形的边长,用f[i][j]表示
[图释]

[复杂度] 时间 O(n * m), 空间 O(n * m)
2) maximum product subarray (LeetCode 152)
[要求] 找出数组的一个子数组,其自乘积最大
[限制] 数组数字有正有负
[定义格子A[i]的某种属性] 以本格A[i]收尾的子数组所能达到的最大乘积和最小乘积,用f[i][0]和f[i][1]表示
[图释]
