1. 程式人生 > >3--查詢二維陣列包含的數字

3--查詢二維陣列包含的數字

/**
     * 在一個二維陣列中,每一行都按照從左往右遞增的順序排列,每一列都按照從上到下遞增的順序排列。
     * 請完成一個函式,輸入這樣的一個二維陣列和整數,判斷陣列中是否存在該整數
     * 
     * 可從左下角(向上遞減向右遞增)或右上角(向下遞增向左遞減)開始查詢 可將O(m*n)降為 O(max(m,n))
     */
    public static boolean findTarget(int[][] arrays,int target){
        int row=arrays.length-1;
        int column=arrays[0
].length-1; int i=row,j=0; while(j<=column&&i>=0){ if(target>arrays[i][j]){ j++; }else if(target<arrays[i][j]){ i--; }else{ return true; } } return false; }