Search a 2D Matrix 杨氏矩阵查找
来源:互联网 发布:极有家淘宝官网 编辑:程序博客网 时间:2024/04/28 13:09
class Solution {
public:
bool searchMatrix(vector<vector<int> > &matrix, int target) {
if(matrix.size()==0)
return false;
int leftrow=0;
int rightrow=matrix.size()-1;
int leftcolumn=0;
int rightcolumn=matrix[0].size()-1;
int rowindex=-1;
while(leftrow<=rightrow)
{
int midrow=(leftrow+rightrow)/2;
if(matrix[midrow][0]<=target&&target<=matrix[midrow][rightcolumn])
{
rowindex=midrow;
break;
}
else if(target<matrix[midrow][0])
{
rightrow=midrow-1;
}
else if(target>matrix[midrow][rightcolumn])
{
leftrow=midrow+1;
}
}
if(rowindex<0) return false;
while(leftcolumn<=rightcolumn)
{
int midcolumn=(leftcolumn+rightcolumn)/2;
if(matrix[rowindex][midcolumn]==target)
{
return true;
}
else if(target<matrix[rowindex][midcolumn])
{
rightcolumn=midcolumn-1;
}
else if(target>matrix[rowindex][midcolumn])
{
leftcolumn=midcolumn+1;
}
}
return false;
}
};
public:
bool searchMatrix(vector<vector<int> > &matrix, int target) {
if(matrix.size()==0)
return false;
int leftrow=0;
int rightrow=matrix.size()-1;
int leftcolumn=0;
int rightcolumn=matrix[0].size()-1;
int rowindex=-1;
while(leftrow<=rightrow)
{
int midrow=(leftrow+rightrow)/2;
if(matrix[midrow][0]<=target&&target<=matrix[midrow][rightcolumn])
{
rowindex=midrow;
break;
}
else if(target<matrix[midrow][0])
{
rightrow=midrow-1;
}
else if(target>matrix[midrow][rightcolumn])
{
leftrow=midrow+1;
}
}
if(rowindex<0) return false;
while(leftcolumn<=rightcolumn)
{
int midcolumn=(leftcolumn+rightcolumn)/2;
if(matrix[rowindex][midcolumn]==target)
{
return true;
}
else if(target<matrix[rowindex][midcolumn])
{
rightcolumn=midcolumn-1;
}
else if(target>matrix[rowindex][midcolumn])
{
leftcolumn=midcolumn+1;
}
}
return false;
}
};
0 0
- 【LeetCode】Search a 2D Matrix (杨氏矩阵查找)
- 杨氏矩阵查找 Search a 2D Matrix
- Search a 2D Matrix 杨氏矩阵查找
- Search a 2D Matrix 特殊二维矩阵的查找
- 【矩阵】Search a 2D Matrix
- LeetCode 查找 Search a 2D Matrix
- Leetcode 74. Search a 2D Matrix 2D矩阵查找 解题报告
- Search a 2D Matrix 在有序二维矩阵查找数 @LeetCode
- [LeetCode]—Search a 2D Matrix 有序二维矩阵中查找目标值
- LeetCode | Search a 2D Matrix(二维矩阵中查找)
- LeetCode OJ 之 Search a 2D Matrix II (二维矩阵查找)
- leetcode 74. Search a 2D Matrix-矩阵搜索|二分查找
- leetcode解题之 Search a 2D Matrix java 版(在二维矩阵中查找)
- Array-----74. Search a 2D Matrix(在特殊的矩阵里面快速查找)
- LintCode Search a 2D matrix 搜索二维矩阵
- LeetCode 74. Search a 2D Matrix(搜索矩阵)
- Leetcode 二分查找 Search a 2D Matrix
- Search a 2D Matrix 二分查找变形
- hbase的HMaster不能启动
- vs2008突然不能使用查找功能了
- 可怜人比有可怜处
- WINCE 自动休眠时间注册表项
- lua pairs和ipairs区别
- Search a 2D Matrix 杨氏矩阵查找
- 警官创非利臂单臂俯卧撑吉尼斯世界纪录
- 改变安卓背景颜色
- Selenium components
- How to Use Instruments in Xcode
- 如何取出 Map中key和value的值1
- 黑马程序员---SQL基础语句加注释
- CWaitCursor简介与使用
- UVA 10535 - Shooter(扫描+几何+最大重叠区间)