今日、編集者はインターネット上で 2 次元配列の検索に関する小さな質問を見つけました。一緒に学習しましょう。興味があれば、よく見てください。コードが添付されているので、真似して書いてみよう!
質問:
2 次元配列では、各行は左から右へ昇順に並べ替えられます。上から下へ昇順でソートされます。関数を完成させ、二次元配列と整数を入力し、配列に整数が含まれているかどうかを判定してください。
1. アイデア
まず、配列の右上隅の番号を選択します。数値が探している数値と等しい場合は検索プロセスが終了します。数値が探している配列より大きい場合は、数値が存在する列を削除します。数値が現在の数値より小さい場合は、その数値が存在する列を削除します。を探している場合は、その番号が含まれる行を削除します。つまり、求めたい数値が配列の右上隅にない場合は、毎回配列の検索範囲から1行または1列が削除され、ステップごとに検索範囲を絞り込むことができます。検索対象の番号が見つかるか、検索範囲が null になるまで。
2. 例
数値 7 が 2 次元配列で見つかった場合は true を返し、見つからなかった場合は、 falseを返します。
1 2 8 9
2 4 9 12
4 7 10 13
6 8 11 15
検索プロセスは次のとおりです。次のように: ###
3. プログラミングの実装
class Solution { public: bool Find(int target, vector<vector<int> > array) { int rows = array.size(); int cols = array[0].size(); if(!array.empty() && rows > 0 && cols > 0){ int row = 0; int col = cols - 1; while(row < rows && col >= 0){ if(array[row][col] == target){ return true; } else if(array[row][col] > target){ --col; } else{ ++row; } } } return false; } };
[推奨コース: C ビデオ チュートリアル]
以上がC++ は 2 次元配列での検索を実装しますの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。