编写一个高效的算法来判断 m x n 矩阵中,是否存在一个目标值。该矩阵具有如下特性:

每行中的整数从左到右按升序排列。
每行的第一个整数大于前一行的最后一个整数。
示例 1:

输入:
matrix = [
  [1,   3,  5,  7],
  [10, 11, 16, 20],
  [23, 30, 34, 50]
]
target = 3
输出: true
示例 2:

输入:
matrix = [
  [1,   3,  5,  7],
  [10, 11, 16, 20],
  [23, 30, 34, 50]
]
target = 13
输出: false

思路:整个二维数组是有序的,二分查找即可。

class Solution {public boolean searchMatrix(int[][] matrix, int target) {if (matrix == null || matrix.length == 0) {return false;}int row = matrix.length;int col = matrix[0].length;int start = 0;int end = row * col - 1;while (start <= end) {int mid = start + (end - start) / 2;if (matrix[mid / col][mid % col] == target)return true;else if (matrix[mid / col][mid % col] > target)end = mid - 1;else start = mid + 1;}return false;}
}

leetcode74. 搜索二维矩阵 ,你见过吗相关推荐

  1. leetcode74. 搜索二维矩阵(二分查找)

    编写一个高效的算法来判断 m x n 矩阵中,是否存在一个目标值.该矩阵具有如下特性: 每行中的整数从左到右按升序排列. 每行的第一个整数大于前一行的最后一个整数. 示例 1: 输入: matrix ...

  2. 每日一题:leetcode74.搜索二维矩阵

    题目描述 题目分析 感觉这是一个放错标签的简单题.题目非常简单,思路应该很明确是二分,我很快写了一个(虽然不小心把!=打成==调试了一会). class Solution {public:bool s ...

  3. [Swift]LeetCode74. 搜索二维矩阵 | Search a 2D Matrix

    ★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★ ➤微信公众号:山青咏芝(shanqingyongzhi) ➤博客园地址:山青咏芝(https://www.cnblog ...

  4. python 搜索二维矩阵

    搜索二维矩阵 编写一个高效的算法来判断 m x n 矩阵中,是否存在一个目标值.该矩阵具有如下特性: 每行中的整数从左到右按升序排列. 每行的第一个整数大于前一行的最后一个整数. 示例 1: 输入:m ...

  5. LeetCode Algorithm 240. 搜索二维矩阵 II

    240. 搜索二维矩阵 II Ideas 这题我记得在左神算法初级班里面有. 主要的思想就是定义两个指针row_index和col_index,从右上角开始逐个搜索. 如果matrix[row_ind ...

  6. LeetCode 240. 搜索二维矩阵 II(二分查找 分治)

    文章目录 1. 题目 2. 解题 2.1 从左下角或者右上角开始搜索 2.2 分治算法 1. 题目 编写一个高效的算法来搜索 m x n 矩阵 matrix 中的一个目标值 target.该矩阵具有以 ...

  7. 【LeetCode】【HOT】240. 搜索二维矩阵 II(抽象二叉搜索树)

    [LeetCode][HOT]240. 搜索二维矩阵 II 文章目录 [LeetCode][HOT]240. 搜索二维矩阵 II package hot;public class Solution24 ...

  8. LintCode 28. 搜索二维矩阵

    import org.junit.Test;import java.util.Arrays;public class SearchMatrix {/*** @param matrix: matrix, ...

  9. 利用可达矩阵判断连通性_leetcode240. 搜索二维矩阵 II

    leetcode240. 搜索二维矩阵 II 编写一个高效的算法来搜索 m x n 矩阵 matrix 中的一个目标值 target.该矩阵具有以下特性: 每行的元素从左到右升序排列. 每列的元素从上 ...

最新文章

  1. excel 打开csv中文乱码
  2. python读取mysql数据_Selenium(Python) ddt读取MySQL数据驱动
  3. Python爬取B站弹幕+Gephi梳理主线剧情
  4. C#中的正则表达式 \(([^)]*)\) 详解
  5. Maxwell 是什么?
  6. 中国地震数据集-包含经纬度及深度(2000-2020年)
  7. Flink中水位线Watermark
  8. 桌面图标出现混乱,图标文件混乱无法显示怎么修复
  9. 科技爱好者周刊(第 190 期):产品化思维
  10. 移动 云MAS 发短信 .net HTTP 请求
  11. Win7系统双屏扩展显示时触屏设置
  12. python练习:简单火柴人游戏
  13. linaro公司:交叉编译器 arm-linux-gnueabi 和 arm-linux-gnueabihf 的区别
  14. 微信开发之小程序实现倒计时
  15. java 视频处理 ffmped+mencoder
  16. 基于微信小程序二手跳蚤市场系统设计与实现毕业设计论文
  17. android 高德地图卡顿,【报Bug】快速反复缩放地图会卡死(plus.maps)
  18. 设计多选按钮ListChooseView
  19. 萌新接触前端的第一课——HTML
  20. Amazon技术图书近期热点

热门文章

  1. Unicode、UTF-8、UTF-16
  2. 发一个自己写的2440驱动1602的资料(电路+代码)
  3. 计算机突然从桌面消失了,电脑桌面突然什么都没有了,怎么处理
  4. js date转成 时间字符串_秋招快要开始了,前端笔试中的坑位-JS隐式转换问题
  5. java web Jersey_使用CXF和Jersey框架来进行Java的WebService编程
  6. arcgis快速创建斜坡单元剖面线
  7. 【转】由投影重建图像:滤波反投影、FDK、TFDK三维重建算法理论基础
  8. 需求分析之UML用例图学习
  9. 39策略模式(Strategy Pattern)
  10. SharePoint 2016文档库所在数据库表的说明(文档库数据库)