我有一个相互不同元素的 n x n 矩阵。该算法应找到局部最大值(实际元素的值大于其邻居(上,下,左,右))。一个局部最大值就足够了。
最终算法应该是递归的。您只能使用一个操作:比较邻居。算法应该在O(n)中运行。
我尝试过这样的事情:
FindMax(matrix, x, y)
{
...some code should be here...
If(matrix[x+1,y] > matrix[x,y])
FindMax(matrix, x+1, y)
else if(matrix[x,y+1] > matrix[x,y])
FindMax(matrix, x, y+1)
...
some code
....
}
输入示例:
1 2 3
4 5 6
7 8 9
9是O(n)的结果,n =行数或列数
您是否有如何创建算法的提示?一些帮助?