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

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

Search a 2D Matrix

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.

 

二分查找,时间复杂度O(logm)+O(logn)。

1 class Solution { 2 public: 3     bool searchMatrix(vector
>& matrix, int target) { 4 if(matrix.size()==0 || matrix[0].size()==0) return false; 5 int m=matrix.size(),n=matrix[0].size(); 6 int left=0,right=m-1; 7 while(left<=right) 8 { 9 int mid = (left+right)/2;10 if(matrix[mid][0]==target) return true;11 else if(matrix[mid][0]

 

这题也可以从右上角遍历,时间复杂度O(m)+O(n)。

1 class Solution { 2 public: 3     bool searchMatrix(vector
>& matrix, int target) { 4 if(matrix.size()==0 || matrix[0].size()==0) return false; 5 int m=matrix.size(),n=matrix[0].size(); 6 int row=0,col=n-1; 7 while(row
=0) 8 { 9 if(matrix[row][col]==target) return true;10 else if(matrix[row][col]

 

转载于:https://www.cnblogs.com/Sean-le/p/4805532.html

你可能感兴趣的文章
IOC和DI
查看>>
Entity Framework 4 & 4.1
查看>>
统计在线人数
查看>>
HDU 2282 Chocolate
查看>>
jquery ui datepicker 只能选今天以后的日期
查看>>
控件:Gallery --- 3.(实现图片切换)
查看>>
Struts标签---logic:Iterate使用方法
查看>>
HDOJ-1102 Constructing Roads
查看>>
两分钟彻底让你明白Android Activity生命周期(图文)!
查看>>
关于KMP算法
查看>>
当C++遇到iOS应用开发---SQLITE篇
查看>>
Lucene
查看>>
html input readonly 和 disable的区别
查看>>
html代码格式严谨
查看>>
moodle 迁移
查看>>
树线段hdu 1754 I Hate It(线段树)
查看>>
uva-297 Quadtrees
查看>>
java6枚举类型
查看>>
构造函数产生的点及原因
查看>>
对象、对象数组、JSON、JSON数组的相关操作
查看>>