劍指offer 搜尋二維矩陣

2021-08-17 23:07:47 字數 564 閱讀 4849

寫出乙個高效的演算法來搜尋m×n矩陣中的值,返回這個值出現的次數。

這個矩陣具有以下特性:

思路:從右上角頂點算起,先比較列,如果當前元素大於target,則col--;

然後開始比較行,如果當前元素小於target,則row++。

**:

public static int searchmatrix(int matrix, int target) 

int tr = 0, tc = 0;

int dr = matrix.length-1, dc = matrix[0].length-1; //左上角,右下角,先把矩陣框起來

int wr = 0, wc = dc; // 工作位

int count = 0; // 計數字

while(wc>=tc && wr<=dr)

while(wc>=tc && wr<=dr&&matrix[wr][wc]}else

}return count;

}

**實現時喜歡先用矩陣的左上角跟右下角把矩陣框起來,然後設定工作位依次執行操作。

劍指offer 二維陣列

題目 在乙個二維陣列中每一行都按照從左到右遞增的順序排序,每一列都按照從上到下遞增的順序排序。完成乙個函式,輸入這樣的陣列和乙個整數,判斷陣列中是否含有該整數。思路 由於該二維陣列從左到右,從上到下均為順序遞增的。因此右下角與左上角的數字均大於或小於其周圍數字,如果選擇改組作為起始點,則無法確定下一...

劍指Offer題目1 有序二維陣列搜尋

在乙個二維陣列中 每個一維陣列的長度相同 每一行都按照從左到右遞增的順序排序,每一列都按照從上到下遞增的順序排序。請完成乙個函式,輸入這樣的乙個二維陣列和乙個整數,判斷陣列中是否含有該整數。對陣列中的每個元素依次遍歷進行比較。時間複雜度 o n n 沒有使用到 陣列有序這個條件 param targ...

二維陣列查詢(劍指offer)

在乙個二維陣列中 每個一維陣列的長度相同 每一行都按照從左到右遞增的順序排序,每一列都按照從上到下遞增的順序排序。請完成乙個函式,輸入這樣的乙個二維陣列和乙個整數,判斷陣列中是否含有該整數。解法一 因為每一行都是遞增的,直接對每一行進行二分查詢即可。public class solution if ...