编写一个高效的算法来判断 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:bool searchMatrix(vector<vector<int>>& matrix, int t) {if(!matrix.size())return false;int n=matrix.size(),m=matrix[0].size();int i=0,j=m-1;while(i<n&&j>=0){if(t==matrix[i][j])return true;else if(t<matrix[i][j])j--;else i++;}return false;}
};

转载于:https://www.cnblogs.com/programyang/p/11154591.html

LeetCode 74.搜索二维矩阵相关推荐

  1. leetcode 74. 搜索二维矩阵(二分)

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

  2. LeetCode 74. 搜索二维矩阵(二分查找)

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

  3. Leetcode 74. 搜索二维矩阵 (每日一题 20210907)

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

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

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

  5. leetcode刷题 74.搜索二维矩阵

    题目分析 这是一道简单的查找二维矩阵的题目,所以解决这题有一个最简单的解法就是遍历二维数组即可:但是我们应该注意到题目中的每行整数从左到右是按升序排列的,第一个整数大于前一行的最后一个整数,介于此,我 ...

  6. 【leetcode】搜索二维矩阵 II

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

  7. Leetcode 240.搜索二维矩阵II (每日一题 20210727 同一题)

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

  8. LeetCode 240. 搜索二维矩阵

    因为矩阵的行和列是排序的(分别从左到右和从上到下),所以在查看任何特定值时,我们可以修剪O(m)O(m)或O(n)O(n)元素. 算法: 首先,我们初始化一个指向矩阵左下角的 (row,col)(ro ...

  9. leetcode 240. 搜索二维矩阵 II

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

  10. [leetcode]240. 搜索二维矩阵 II

    行.列二分: class Solution {public:bool binsearch(vector<vector<int>>& matrix, int target ...

最新文章

  1. linux驱动内核,Linux内核设备驱动之Linux内核基础笔记整理
  2. 管人、管团队、管项目,如何让团队管理者成为技术团队中的发动机?
  3. vue-自主研发非父子关系组件之间通信的问题
  4. 《伊万博士: 进化》利用三角剖分算法复刻《超越光速》地图机制
  5. 将html代码确析成json数据格式,JSON字符串解析成JSON数据格式
  6. [Java基础]字符流读写数据的方式
  7. mysql8.0设置用户权限_mysql8.0建立用户授予权限报错解决方法
  8. Could not create directory F:\Qt\Test\Error in Util.asciify(build-First_02-Desktop_Qt_5_6_3_Min
  9. CentOS7安装mysql8并配置
  10. spark基础之RDD和DataFrame和Dataset比较
  11. Ubuntu 14.04 jdk安装与配置
  12. AD——修改域用户的密码
  13. Hibernate一对多双向、单向
  14. CMMI 2.0 和 1.3
  15. Unity3D 智能巡逻兵
  16. stm32无源蜂鸣器定时器_STM32与无源蜂鸣器
  17. IT连创业系列:说说苹果商店AppStore上架App应用前后遇到的那些神坑
  18. 自定义串口通信协议,如何实现?
  19. chain.doFilter
  20. 用c语言统计给定的n个数中,负数、零和正数的个数。

热门文章

  1. 【Shiro第九篇】SpringBoot + Shiro整合JWT
  2. MyCat分库分表入门示例
  3. spring源码-第三个后置处理器
  4. Android内存优化12 内存泄漏常见情况3 注册泄漏
  5. 一体机or复合机?企业文印设备该怎么选
  6. Javascript常见设计模式解析
  7. svn在linux下的使用(svn命令行)删除 新增 添加 提交 状态查询 恢...
  8. [独库骑行之我们路过高山]翻越哈希勒根达坂
  9. windows命令全集
  10. CodeRush For .Net 使用-------使用标签