写出一个高效的算法来搜索m×n矩阵中的值,返回这个值出现的次数。
这个矩阵具有以下特性:
- 每行中的整数从左到右是排序的。
- 每一列的整数从上到下是排序的。
- 在每一行或每一列中没有重复的整数。
public class Solution { /** * @param matrix: A list of lists of integers * @param: A number you want to search in the matrix * @return: An integer indicate the occurrence of target in the given matrix */ public int searchMatrix(int[][] matrix, int target) { // write your code here if(matrix==null || matrix.length==0){ return 0; } int count=0; int row=matrix.length-1; int col=0; while(row>=0 && col<=matrix[0].length-1){ if(target==matrix[row][col]){ count++; row--; col++; }else if(target>matrix[row][col]){ col++; }else{ row--; } } return count; } }