博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
LeetCode-Search a 2D Matrix
阅读量:6715 次
发布时间:2019-06-25

本文共 1580 字,大约阅读时间需要 5 分钟。

Write an efficient algorithm that searches for a value in an m x n matrix. This matrix has the following properties:Integers in each row are sorted from left to right.The first integer of each row is greater than the last integer of the previous row.For example,Consider the following matrix:[  [1,   3,  5,  7],  [10, 11, 16, 20],  [23, 30, 34, 50]]Given target = 3, return true.

 

 

 

 

public class Solution {    public boolean searchMatrix(int[][] matrix, int target) {        boolean found=false;        if(matrix==null){            return found;        }        int m=matrix.length;        int n=matrix[0].length;                int upRow=0;        int downRow=m-1;                while(upRow<=downRow){            if(target<=matrix[upRow][n-1]){                found=binarySearch(matrix, upRow, target);                break;            }            else if(target>=matrix[downRow][0]){                found=binarySearch(matrix, downRow, target);                break;            }            else{                upRow++;                downRow--;            }        }        return found;    }        public boolean binarySearch(int[][]matrix, int row, int target){        int m=matrix.length;        int n=matrix[0].length;                int left=0;        int right=n-1;                boolean found=false;        while(left<=right){            int mid=left+(right-left)/2;            if(matrix[row][mid]==target){                found=true;                break;            }            else if(matrix[row][mid]

 

转载于:https://www.cnblogs.com/incrediblechangshuo/p/5918505.html

你可能感兴趣的文章
【java】eclipse配置tomcat碰到的问题
查看>>
vim 的多窗口, tab 切换_yuhui_bear_百度空间
查看>>
poj2481
查看>>
ECSHOP的lbi库文件中添加广告位的方法
查看>>
Splay树学习
查看>>
Kinect for Windows SDK开发学习相关资源
查看>>
Android 类中类广播的静态注册方法
查看>>
Requests库上传文件时UnicodeDecodeError: 'ascii' codec can't decode byte错误解析
查看>>
MapReduce中,new Text()引发的写入HDFS的输出文件多一列的问题
查看>>
Windows Phone本地数据库(SQLCE):8、DataContext(翻译)
查看>>
SGU 406 Goggle
查看>>
〖Linux〗Shell十进制数值转换十六进制
查看>>
java设计模式--行为型模式--状态模式
查看>>
mysql学习笔记 第六天
查看>>
MVC4 + EF为Model添加单独的验证属性
查看>>
Oracle用游标删除重复数据
查看>>
数组指针
查看>>
OpenStreetMap初探(一)——了解OpenStreetMap
查看>>
安卓表格布局android:collapseColumns,android:shrinkColumns和stretchColumn
查看>>
js中substr与substring的差别
查看>>