【发布时间】:2016-06-14 03:23:32
【问题描述】:
我们有一个 n×n 网格,左下角坐标为 (0,0),右上角坐标为 (n,n)。网格中的单元格都有不同的值,我们的目标是找到一个局部峰值,它被定义为一个单元格的值大于它的左、右、上、下邻居(即对角相邻的单元格没有问题)。
问题是,我们只能通过访问该单元格来查看该单元格的值(即,如果不先采取 (i+j) 步从 (0) 到达那里,我们就无法检查 (i,j) 的值) ,0))。我们如何在 O(n) 步中找到局部峰值?
【问题讨论】:
-
@BeyelerStudios 通过遍历网格(每个单元格),复杂度怎么可能是 O(n)。
标签: arrays algorithm multidimensional-array divide-and-conquer array-algorithms