當(dāng)前位置:首頁(yè) > IT技術(shù) > 編程語(yǔ)言 > 正文

劍指 Offer 04. 二維數(shù)組中的查找
2021-10-20 10:40:01

劍指 Offer 04. 二維數(shù)組中的查找

暴力搜索

遍歷整個(gè)二維數(shù)組,時(shí)間復(fù)雜度O(mn),空間復(fù)雜度O(1)

線性查找

從右上角出發(fā),如果右上角的數(shù)字等于target,已找到,如果大于target,向左移一列。小于target,這一行必定都小于target,向下移動(dòng)一行。最多移動(dòng)m列和n行。時(shí)間復(fù)雜度O(m+n),空間復(fù)雜度O(1)。

class Solution {
public:
    bool findNumberIn2DArray(vector<vector<int>>& matrix, int target) {
        int n=matrix.size();
        if(n == 0)
        {
            return false;
        }
        int m=matrix[0].size();
        int row=0,cloumn=m-1;
        while(row < n && cloumn >= 0)
        {
            if(matrix[row][cloumn] == target)
            {
                return true;
            }
            else if(matrix[row][cloumn] > target)
            {
                cloumn--;
            }
            else
            {
                row++;
            }
        }
        return false;
    }
};

  

?

需要一個(gè)判斷數(shù)組是否為空的操作

本文摘自 :https://www.cnblogs.com/

開(kāi)通會(huì)員,享受整站包年服務(wù)立即開(kāi)通 >