74. Search a 2D Matrix

来源:互联网 发布:高考必知文学常识 编辑:程序博客网 时间:2024/06/14 04:10

Search a 2D Matrix

这里写图片描述

代码

使用二分法

public class Solution {    public boolean searchMatrix(int[][] matrix, int target) {        int col_num = matrix[0].length;        int row_num = matrix.length;        int begin = 0,end = row_num * col_num - 1;        while(begin <= end){            int mid = (begin + end) / 2;            int mid_value = matrix[mid/col_num][mid%col_num];//这步很巧            if( mid_value == target){            return true;            }else if(mid_value < target){                //Should move a bit further, otherwise dead loop.                begin = mid+1;            }else{                end = mid-1;            }        }        return false;    }}
0 0