剣は15を提供することを指します。2次元配列で検索します。

トピック

ここに画像の説明を挿入します

回答

配列
ここに画像の説明を挿入します
から、右上隅の配列から更新を開始できることがわかります。この数値がターゲットと等しい場合は、直接trueを返します。ターゲットよりも小さい場合は、その下の数値xが右上隅の数xの場合、それよりも大きい。次に、次の行に移動する必要があります。より大きい場合、xの左側の数はそれよりも小さいため、左に移動する必要があります。 。

コード

class Solution {
    
    
public:
    bool searchArray(vector<vector<int>> array, int target) {
    
    
        if (array.empty() || array[0].empty()) return false;
        int i = 0, j = array[0].size() - 1;
        while (i < array.size() && j >= 0) {
    
    
            if (array[i][j] == target) return true;
            if (array[i][j] < target) i++;
            else j--;
        
        }
        return false;
    }
};

おすすめ

転載: blog.csdn.net/qq_44791484/article/details/114645754