題目:在一個二維數組中,每一行都按照從左到右遞增的順序排序,每一列都按照從上到下遞增的順序排序。請完成一個函數,輸入這樣的一個二維數組和一個整數,判斷數組中是否含有該整數。數組
1 2 8 9函數
2 4 9 12spa
4 7 10 13code
思路:blog
根據數組的特性,從右上角開始查找(也可從左下角),若大於,則往下,若小於,則往左。如查找上面數組中的7,從9開始,9>7,往左移一位到8,8>7,再往左移一位到2,2<7,往下移一位到4,4<7,再往下移一位得7==7。排序
參考代碼:get
public class Solution { public boolean Find(int target, int [][] array) { int row = array.length; int colum = array[0].length; for(int i=0;i<row;i++){ for(int j=colum-1;j>=0;j--){ if (target == array[i][j]){ return true; }else if(target < array[i][j]){ continue; }else{ break; } } } return false; } }