劍指offer 二維陣列中的查詢

2021-07-15 04:25:29 字數 763 閱讀 9193

題目:

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

分析:

二維陣列分析時常畫為矩形,分析其四個頂點可以看出,左下角及右上角頂點有如下特點:

(1)左下角頂點的上方都比此頂點數值小,其右方都比此頂點數值大;

(2)右上角頂點的左方都比此頂點數值小,其下方都比此頂點數值大。

因此可以選取坐下角頂點或右上角頂點作為基準與查詢數值進行比較,根據大小判斷縮小查詢範圍。

package com.gpl.offer.jianzhi;

/** * created by gpl on 2016/7/18.

*/public class doublearrayfindnum {

public boolean find(int array, int target){

boolean isfind = false;

int cols = array.length; //陣列行數

int rows = array[0].length; //陣列列數

int i = 0;

int j = rows-1;

while(i=0){

int value = array[i][j];

if(value>target)

j--;

else if(value

劍指offer 二維陣列中查詢

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

劍指offer 二維陣列中查詢

從今天開始每天一題,除了節假日。在乙個二維陣列中 每個一維陣列的長度相同 每一行都按照從左到右遞增的順序排序,每一列都按照從上到下遞增的順序排序。請完成乙個函式,輸入這樣的乙個二維陣列和乙個整數,判斷陣列中是否含有該整數。class solution return false class solut...

劍指offer 二維陣列中查詢

要求如下 在乙個二維陣列中 每個一維陣列的長度相同 每一行都按照從左到右遞增的順序排序,每一列都按照從上到下遞增的順序排序。請完成乙個函式,輸入這樣的乙個二維陣列和乙個整數,判斷陣列中是否含有該整數 示例如下 7,1,2,8,9 2,4,9,12 4,7,10,13 6,8,11,15 思路有三種,...