算法在矩阵中查找局部最大值

时间:2014-03-14 17:44:52

标签: arrays algorithm matrix find

我有一个相互不同元素的 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 =行数或列数

您是否有如何创建算法的提示?一些帮助?

0 个答案:

没有答案