LeetCode74 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. (Medium)
分析:
考察题目给的二维数组的特点发现,其本质跟一个排好序的一维数组没有区别,所以就是一个二分查找问题。
对于mid,其对应的点是matrix[mid / n][mid % n]
代码:
 class Solution {
 public:
     bool searchMatrix(vector<vector<int>>& matrix, int target) {
         int m = matrix.size(), n = matrix[].size();
         int start = , end = m * n - ;
         while (start +  < end) {
             int mid = start + (end - start) / ;
             if (matrix[mid / n][mid % n] == target) {
                 return true;
             }
             else if (matrix[mid / n][mid % n] < target) {
                 start = mid;
             }
             else {
                 end = mid;
             }
         }
         if (matrix[start / n][start % n] == target) {
             return true;
         }
         if (matrix[end / n][end % n] == target) {
             return true;
         }
         return false;
     }
 };
LeetCode74 Search a 2D Matrix的更多相关文章
- Leetcode74. Search a 2D Matrix搜索二维矩阵
		编写一个高效的算法来判断 m x n 矩阵中,是否存在一个目标值.该矩阵具有如下特性: 每行中的整数从左到右按升序排列. 每行的第一个整数大于前一行的最后一个整数. 示例 1: 输入: matrix ... 
- LeetCode 74. 搜索二维矩阵(Search a 2D Matrix)
		74. 搜索二维矩阵 74. Search a 2D Matrix 题目描述 编写一个高效的算法来判断 m x n 矩阵中,是否存在一个目标值.该矩阵具有如下特性: 每行中的整数从左到右按升序排列. ... 
- [LeetCode] Search a 2D Matrix II 搜索一个二维矩阵之二
		Write an efficient algorithm that searches for a value in an m x n matrix. This matrix has the follo ... 
- [LeetCode] Search a 2D Matrix  搜索一个二维矩阵
		Write an efficient algorithm that searches for a value in an m x n matrix. This matrix has the follo ... 
- 【leetcode】Search a 2D Matrix
		Search a 2D Matrix Write an efficient algorithm that searches for a value in an m x n matrix. This m ... 
- 54. Search a 2D Matrix   &&   Climbing Stairs (Easy)
		Search a 2D Matrix Write an efficient algorithm that searches for a value in an m x n matrix. This m ... 
- [CareerCup] 11.6 Search a 2D Matrix 搜索一个二维矩阵
		11.6 Given an M x N matrix in which each row and each column is sorted in ascending order, write a m ... 
- Search a 2D Matrix | & II
		Search a 2D Matrix II Write an efficient algorithm that searches for a value in an m x n matrix, ret ... 
- LeetCode Search a 2D Matrix II
		原题链接在这里:https://leetcode.com/problems/search-a-2d-matrix-ii/ Write an efficient algorithm that searc ... 
随机推荐
- [转]深入理解ajax系列——头部消息
			每个HTTP请求和响应都会带有相应的头部信息,其中有的对开发人员有用.XHR对象提供了操作头部信息的方法.本文将详细介绍HTTP的头部信息 默认信息 默认情况下,在发送XHR请求的同时,还会发送下列头 ... 
- mysql sum() 求和函数的用法
			查询在record表中 name=? 的 money 加起来的值使用聚和函数 sum() 求和select sum(money) from record t where t.name = ?另外:co ... 
- stackless 安装
			1.下载源码 https://bitbucket.org/stackless-dev/stackless/wiki/Download 2.编译.安装.路径生效 apt-get install libr ... 
- 轮播图js版&jQ版
			JS版轮播图 html部分和css部分自己任意定 主要构成: 1,一个固定的框 超出框的部分隐藏 2,几张图片float:left 3,下部下原点,点击切换,切换到不同的张都有红色显示 4,左右两个大 ... 
- Django用户登陆以及跳转后台管理页面1
			"""S14Djngo URL Configuration The `urlpatterns` list routes URLs to views. For more i ... 
- CTSC2016时空旅行
			当时看这道题AC的人数比较多,就开了这道题. 很容易发现是这是一个有关凸包的题. 然后不知道怎么维护凸包,一直在想cdq,感觉复杂度不行,于是被这玩意难住了…… 幸好有亲学长yyh造福人类的题解:ht ... 
- 2019-8-31-dotnet-core-用值初始化整个数组
			title author date CreateTime categories dotnet core 用值初始化整个数组 lindexi 2019-08-31 16:55:58 +0800 2019 ... 
- Leetcode908.Smallest Range I最小差值1
			给定一个整数数组 A,对于每个整数 A[i],我们可以选择任意 x 满足 -K <= x <= K,并将 x 加到 A[i] 中. 在此过程之后,我们得到一些数组 B. 返回 B 的最大值 ... 
- Liferay 7 module项目的依赖问题
			build.gradle中的dependencies和bnd.bnd的Private-Package的关系是,build.gradle解决编译时候所需的所有依赖问题,但是这些依赖并不会被打包到buil ... 
- (转) Hibernate持久化类与主键生成策略
			http://blog.csdn.net/yerenyuan_pku/article/details/65462930 Hibernate持久化类 什么是持久化类呢?在Hibernate中持久化类的英 ... 
