写出一个高效的算法来搜索m×n矩阵中的值,返回这个值出现的次数。
这个矩阵具有以下特性:
每行中的整数从左到右是排序的。 每一列的整数从上到下是排序的。 在每一行或每一列中没有重复的整数。 您在真实的面试中是否遇到过这个题? Yes 样例考虑下列矩阵:
[
[1, 3, 5, 7],
[2, 4, 7, 8],
[3, 5, 9, 10]
]
给出target = 3,返回 2
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 row=matrix.length; int column=matrix[0].length; int count=0; for(int i=0;i<row;i++){ for(int j=column-1;j>=0;j--){ if(matrix[i][j]==target){ column=j; count++; break; } } } return count; } }