搜索二维矩阵 II—leetcode240
编写一个高效的算法来搜索 m x n 矩阵 matrix 中的一个目标值 target。该矩阵具有以下特性:
- 每行的元素从左到右升序排列。
- 每列的元素从上到下升序排列。
示例:
现有矩阵 matrix 如下:
[[1, 4, 7, 11, 15],[2, 5, 8, 12, 19],[3, 6, 9, 16, 22],[10, 13, 14, 17, 24],[18, 21, 23, 26, 30] ]
给定 target = 5
,返回 true
。
给定 target = 20
,返回 false
。
方法:
- 左下角的元素是这一行中最小的元素,同时又是这一列中最大的元素。比较左下角元素和目标:
- 若左下角元素等于目标,则找到
- 若左下角元素大于目标,则目标不可能存在于当前矩阵的最后一行,问题规模可以减小为在去掉最后一行的子矩阵中寻找目标
- 若左下角元素小于目标,则目标不可能存在于当前矩阵的第一列,问题规模可以减小为在去掉第一列的子矩阵中寻找目标
- 若最后矩阵减小为空,则说明不存在
class Solution {
public:bool searchMatrix(vector<vector<int>>& matrix, int target) {if(matrix.empty())return false;int row = matrix.size();int col = matrix[0].size();int i=row-1; int j=0;while(i>=0 && j<col){if(matrix[i][j]==target)return true;else if(matrix[i][j]>target)i--;elsej++;}return false;}
};
搜索二维矩阵 II—leetcode240相关推荐
- 利用可达矩阵判断连通性_leetcode240. 搜索二维矩阵 II
leetcode240. 搜索二维矩阵 II 编写一个高效的算法来搜索 m x n 矩阵 matrix 中的一个目标值 target.该矩阵具有以下特性: 每行的元素从左到右升序排列. 每列的元素从上 ...
- LeetCode Algorithm 240. 搜索二维矩阵 II
240. 搜索二维矩阵 II Ideas 这题我记得在左神算法初级班里面有. 主要的思想就是定义两个指针row_index和col_index,从右上角开始逐个搜索. 如果matrix[row_ind ...
- 【LeetCode】【HOT】240. 搜索二维矩阵 II(抽象二叉搜索树)
[LeetCode][HOT]240. 搜索二维矩阵 II 文章目录 [LeetCode][HOT]240. 搜索二维矩阵 II package hot;public class Solution24 ...
- Java 搜索二维矩阵 II
搜索二维矩阵 II 中等 编写一个高效的算法来搜索 m x n 矩阵 matrix 中的一个目标值 target .该矩阵具有以下特性: 每行的元素从左到右升序排列. 每列的元素从上到下升序排列. 示 ...
- LeetCode 07: T48. 旋转图像 (中等); T54. 螺旋矩阵(中等); T240. 搜索二维矩阵 II (中等)
文章目录 T19: 48. 旋转图像 (中等) 思路 解法 1: 新增数组 解法 2: 原地旋转 T20: 54. 螺旋矩阵(中等) 思路 解法: 到边界换方向 T21: 240. 搜索二维矩阵 II ...
- LeetCode 240. 搜索二维矩阵 II(二分查找 分治)
文章目录 1. 题目 2. 解题 2.1 从左下角或者右上角开始搜索 2.2 分治算法 1. 题目 编写一个高效的算法来搜索 m x n 矩阵 matrix 中的一个目标值 target.该矩阵具有以 ...
- 搜索二维矩阵II(分治法和蛇行)
问题来源:力扣算法面试汇总 问题描述:编写一个高效的算法来搜索 m x n 矩阵 matrix 中的一个目标值 target.该矩阵具有以下特性: 每行的元素从左到右升序排列. 每列的元素从上到下升序 ...
- Leecode240. 搜索二维矩阵 II——Leecode每日一题系列
我是小张同学,立志用更简洁的代码做更高效的表达 编写一个高效的算法来搜索 m x n 矩阵 matrix 中的一个目标值 target .该矩阵具有以下特性: 每行的元素从左到右升序排列. 每列的元素 ...
- 2019-03-11-算法-进化(搜索二维矩阵II)
题目描述 编写一个高效的算法来搜索 m x n 矩阵 matrix 中的一个目标值 target.该矩阵具有以下特性: 每行的元素从左到右升序排列 每列的元素从上到下升序排列 示例: 现有矩阵 mat ...
最新文章
- 泡泡玛特,走出“盲盒”?
- mac GitHub上面如何在原有仓库的基础上增加文件呢?
- sip-selvet 环境搭建
- oracle为什么要创建数据库,手动创建Oracle数据库之前因后果
- alchemy php,Flask SQLAlchemy
- 为什么要使用 Node.js
- C#session共享+redis_Redis+Tomcat+Nginx集群实现Session共享,Tomcat Session共享
- 速成pytorch学习——3天自动微分机制
- 使用Perl进行网页数据抓取[初学者简明版]
- python网络编程初级
- HTML标签和属性大全
- 【Tensorflow】Windows下基于Anaconda的Tensorflow环境配置
- 查看javajdk版本
- DART语言学习整理
- 一篇超频菜鸟必看的基础知识大全!
- 以网易云为例,使用审查元素(开发者选项)获取音乐资源
- AM5728 eHRPWM 驱动和中断设计随笔
- android ota权限,Android手机Root后不能接收OTA?
- python中getattr()和setattr()的使用
- simpletransformers的 single sentence classification和sentence pair classification
热门文章
- jhipster 配置 mysql_java – 将jhipster后端和前端分成两个项目?
- 【2012百度之星/初赛上】C:集合的交与并
- [转]php-fpm配置具体解释
- POJ 1222 EXTENDED LIGHTS OUT(高斯消元)
- 屏蔽Xcode 8“烦人”的日志输出
- 航旅事业群面试(li)
- 查看wcf服务中方法测试客户端
- Java WEB之Servlet学习之路(一)一个最简单的Servlet应用
- 如何解决复杂条件下的程序流的控制问题?
- String案例 练习: 将一个字符串进行反转