问题:
N*N的表格中存放自然数,从任意位置开始,表格中的数字可以向四邻域移动(前提是移动方向上的数字必须小于当前数字),移动一次距离加一。求最大移动距离?
分析:
问题可以看成是一个动态规划问题,H[i][j] = max{H[i-1][j], H[i+1][j], H[i][j-1], H[i][j+1]} + 1,其中满足a[i][j] > a[i-1][j]等条件。
经过和GJH讨论,发现可以有更好的办法,一次从矩阵中找到最小元素,更新最小元素周围四个元素,更新结果为max{H[i][j] + 1, H[i+1][j]},其中H[i][j]以最小元素为起点的递减数字串的最长长度。
算法代码:
还没编写