Binary Search:240. Search a 2D Matrix II
来源:互联网 发布:node.js实战 pdf 下载 编辑:程序博客网 时间:2024/06/08 07:47
这道题让我们在一个二维数组中快速的搜索的一个数字,这个二维数组各行各列都是按递增顺序排列的,是之前那道Search a 2D Matrix 搜索一个二维矩阵的延伸,那道题的不同在于每行的第一个数字比上一行的最后一个数字大,是一个整体蛇形递增的数组。所以那道题可以将二维数组展开成一个一位数组用一次二查搜索。而这道题没法那么做,这道题有它自己的特点。如果我们观察题目中给的那个例子,我们可以发现有两个位置的数字很有特点,左下角和右上角的数。可以从左下角开始搜索,如果左下角的数大于target,说明最下面这一行没有target,则往上移动一行,如果左下角的数小于target,说明最左边这一列没有target,则往右移动一行。如果搜索范围出了这个矩阵,说明没有搜到。
class Solution {public: bool searchMatrix(vector<vector<int>>& matrix, int target) { if(matrix.empty() || matrix[0].empty()) return false; int m = matrix.size()-1, n = 0; while(true) { if(matrix[m][n] < target) n++; else if(matrix[m][n] > target) m--; else return true; if(m < 0 || n >= matrix[0].size()) break; } return false; }};
阅读全文
0 0
- Binary Search:240. Search a 2D Matrix II
- 74. Search a 2D Matrix AND 240. Search a 2D Matrix II leetcode binary search
- 240. Search a 2D Matrix II
- 240. Search a 2D Matrix II
- 240. Search a 2D Matrix II
- 240. Search a 2D Matrix II
- 240. Search a 2D Matrix II
- 240. Search a 2D Matrix II
- 240. Search a 2D Matrix II
- 240. Search a 2D Matrix II
- 240. Search a 2D Matrix II
- 240. Search a 2D Matrix II
- 240. Search a 2D Matrix II
- 240. Search a 2D Matrix II
- 240. Search a 2D Matrix II
- 240. Search a 2D Matrix II
- 240. Search a 2D Matrix II
- 240. Search a 2D Matrix II
- NYIST-2017大一新生第二次周赛题解
- TCP协议中的序列号
- ThreadLocal学习
- 倍增源代码
- 单例模式
- Binary Search:240. Search a 2D Matrix II
- 什么是dubbo
- apt-get指令的autoclean,clean,autoremove的区别
- Callable和Future
- 整数分解为若干项之和(20 分)
- JavaWeb九大内置对象之request
- MySql数据库-02DDL语言(上)之操作数据库
- 手机灭屏,js定时器停止计算
- 第二周 PHP基础