Heim > Artikel > Backend-Entwicklung > C++ implementiert die Suche in zweidimensionalen Arrays
Heute habe ich im Internet eine kleine Frage gesehen, bei der es um die Suche in einem zweidimensionalen Array geht. Wenn Sie interessiert sind, schauen Sie sich den Code an Sie können es nachahmen und schreiben!
Frage:
In einem zweidimensionalen Array wird jede Zeile in aufsteigender Reihenfolge von links nach rechts sortiert wird in aufsteigender Reihenfolge von oben nach unten sortiert. Bitte vervollständigen Sie eine Funktion, geben Sie ein solches zweidimensionales Array und eine Ganzzahl ein und bestimmen Sie, ob das Array die Ganzzahl enthält.
1. Idee
Wählen Sie zunächst die Zahl in der oberen rechten Ecke des Arrays aus. Wenn die Zahl mit der gesuchten Zahl übereinstimmt, endet der Suchvorgang. Wenn die Zahl größer als das gesuchte Array ist, entfernen Sie die Spalte, in der sich die Zahl befindet Suchen Sie nach der Zeile, in der sich die Nummer befindet. Das heißt, wenn sich die zu findende Zahl nicht in der oberen rechten Ecke des Arrays befindet, wird jedes Mal eine Zeile oder Spalte aus dem Suchbereich des Arrays entfernt, sodass der Suchbereich bei jedem Schritt eingegrenzt werden kann bis die zu suchende Nummer gefunden wird oder der Suchbereich null ist.
2. Beispiel
Wenn die Zahl 7 in einem zweidimensionalen Array gefunden wird, geben Sie true zurück, wenn nicht, geben Sie false zurück.
1 2 8 9
2 4 9 12
4 7 1 0 13
6 8 11 15
Der Suchvorgang lautet wie folgt:
3. Programmierimplementierung
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; } };
[Empfohlener Kurs: C++-Video-Tutorial]
Das obige ist der detaillierte Inhalt vonC++ implementiert die Suche in zweidimensionalen Arrays. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!