0

左下隅の座標が (0,0) で右上隅が (n,n) の n 行 n 列のグリッドがあります。グリッド内のセルはすべて個別の値を持ち、私たちの目標はローカル ピークを見つけることです。これは、左、右、上、および下の隣接セルよりも大きい値を持つセルとして定義されます (つまり、斜めに隣接するセルは案件)。

問題は、そのセルにアクセスすることによってのみセルの値を確認できることです (つまり、(i,j) の値を確認するには、最初に (i+j) ステップを実行して (0,0) からそこに到達する必要があります)。 )。O(n) ステップでローカル ピークを見つけるにはどうすればよいでしょうか。

4

1 に答える 1

0

これは、分割統治戦略を使用して O(nlgn) 時間で計算できます。これは、O(n^2) 時間複雑度クラスに含まれるブルート フォース アルゴリズムよりもわずかに優れた時間制限です。

このpdfをGoogleで見つけました。それが役立つことを願っています。

分割統治法を使用した極大値

于 2016-03-01T16:30:52.803 に答える