LintCode之38 搜索二維矩陣 II

題目來源:搜索二維矩陣 II

題目描述:
寫出一個高效的算法來搜索m×n矩陣中的值,返回這個值出現的次數。

這個矩陣具有以下特性:

  • 每行中的整數從左到右是排序的。
  • 每一列的整數從上到下是排序的。
  • 在每一行或每一列中沒有重複的整數。

樣例
考慮下列矩陣:
[
[1, 3, 5, 7],
[2, 4, 7, 8],
[3, 5, 9, 10]
]

給出target = 3,返回 2

Java代碼:

public int searchMatrix(int[][] matrix, int target) {
        // write your code here
        int result = 0;
        for(int i = 0; i < matrix.length; i++){
            if(matrix[i][0]>target)
                break;
            if(matrix[i][0]==target){
                result++;
                break;
            }
            if(matrix[i][matrix[i].length-1] < target){
                continue;
            }
            if(matrix[i][matrix[i].length-1] == target){
                result++;
                continue;
            }
            for(int j = 0; j < matrix[0].length; j++){
                if(matrix[i][j]==target)
                    result++;
            }

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