给定一个 $N\times N$ 的由 $N^2$ 个不同整数组成的数组 $a$,设计一个 $O(N)$ 算法来寻找一个局部最小值:一对索引 $i$ 和 $j$,使得:
- $a[i][j] < a[i+1][j]$ - $a[i][j] < a[i-1][j]$ - $a[i][j] < a[i][j+1]$ - $a[i][j] < a[i][j-1]$
我在一个在线算法书籍 Java编程导论, 第4.2章 排序与查找 中找到了这个问题。
它类似于第35题(同一页):
给定一个由 $N$ 个实数组成的数组,编写一个静态方法在对数时间内找到一个局部最小值(一个索引 $i$,使得 $a[i-1]它有一种基于二分查找的解决方案,但我无法找到。
- $a[i][j] < a[i+1][j]$ - $a[i][j] < a[i-1][j]$ - $a[i][j] < a[i][j+1]$ - $a[i][j] < a[i][j-1]$
我在一个在线算法书籍 Java编程导论, 第4.2章 排序与查找 中找到了这个问题。
它类似于第35题(同一页):
给定一个由 $N$ 个实数组成的数组,编写一个静态方法在对数时间内找到一个局部最小值(一个索引 $i$,使得 $a[i-1]它有一种基于二分查找的解决方案,但我无法找到。