天天看點

【劍指offer】規則二維數組查找

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

思路:從數組左下角開始判斷,如果目标資料大于左下角數字,則列号右移(增加),若目标數字小于左下角數字,則行号上移(減小)

public class Solution {

     public boolean Find(int target, int [][] array) {

         int rowCount = array.length;

         int colCount = array[0].length;

         for(int i=rowCount-1, j=0; i >= 0&&j<colCount;){

             if(target==array[i][j]){

                 return true;

             }

             if(target < array[i][j]){

                 i--;

                 continue;

             }

             if(target > array[i][j]){

                 j++;

                 continue;

             }

        }

         return false;

}