《劍指offer》系列--二維數組中的查找

今後的你一定會感謝現在努力的自己。

題目

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

解析

public class Test02 {
    public static boolean findElement(int[][] array, int element){
        int i = array.length-1;
        int j = 0;
        while (i>=0 && j<array[i].length){
            if (element == array[i][j]){
                return true;
            } else if (element < array[i][j]){
                i--;
            }else
                j++;
        }
        return false;
    }

    public static void main(String[] args) {
        int[][] array = new int[5][5];
        array[0] = new int[]{1,2,3,4,5};
        array[1] = new int[]{2,3,4,5,6};
        array[2] = new int[]{3,4,5,6,7};
        array[3] = new int[]{4,5,6,7,8};
        array[4] = new int[]{5,6,7,8,9};
        System.out.println(Test02.findElement(array,3));
    }

}

輸出結果:true

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章