Java演算法 劍指offer 二維陣列中的查詢

2021-07-27 15:01:11 字數 515 閱讀 7773

在乙個二維陣列中,每一行都按照從左到右遞增的順序排序,每一列都按照從上到下遞增的順序排序。請完成乙個函式,輸入這樣的乙個二維陣列和乙個整數,判斷陣列中是否含有該整數。

方案一:這個是最暴力的直接遍歷。

public class maintest 

}} return false;

}}

方案二:

利用二維陣列由上到下,由左到右遞增的規律,

那麼選取右上角或者左下角的元素a[row][col]與target進行比較,

當target小於元素a[row][col]時,那麼target必定在元素a所在行的左邊,即col--;

當target大於元素a[row][col]時,那麼target必定在元素a所在列的下邊,即row++;

public boolean find(int array, int target) 

return false;

}

劍指offer演算法 java實現 二維陣列中的查詢

在乙個二維陣列中,每一行都按照從左到右遞增的順序排序,每一列都按照從上到下遞增的順序排序。請完成乙個函式,輸入這樣的乙個二維陣列和乙個整數,判斷陣列中是否含有該整數。例如下面的二維陣列就是每行 每列都是遞增排序。如果在這個陣列中查詢數字7,則返回true,如果查詢陣列5,由於陣列中不含有該數字,則返...

劍指offer 二維陣列

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

劍指offer 搜尋二維矩陣

寫出乙個高效的演算法來搜尋m n矩陣中的值,返回這個值出現的次數。這個矩陣具有以下特性 思路 從右上角頂點算起,先比較列,如果當前元素大於target,則col 然後開始比較行,如果當前元素小於target,則row public static int searchmatrix int matrix...