编写一个高效的算法来搜索 m x n 矩阵中的一个目标值。该矩阵具有以下特性:
    每行的元素从左到右升序排列。
    每列的元素从上到下升序排列。
例如,
考虑下面的矩阵:
[
  [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。
详见:https://leetcode.com/problems/search-a-2d-matrix-ii/description/

Java实现:

class Solution {
public boolean searchMatrix(int[][] matrix, int target) {
if (matrix.length == 0 || matrix[0].length == 0) {
return false;
}
int row=matrix.length;
int col=matrix[0].length;
int i=row-1;
int j=0;
while(i>=0&&j<col){
if(target>matrix[i][j]){
++j;
}else if(target<matrix[i][j]){
--i;
}else{
return true;
}
}
return false;
}
}

C++实现:

class Solution {
public:
bool searchMatrix(vector<vector<int>>& matrix, int target) {
if(matrix.empty()||matrix[0].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(target>matrix[i][j])
{
++j;
}
else if(target<matrix[i][j])
{
--i;
}
else
{
return true;
}
}
return false;
}
};

最新文章

  1. 基于HTML5实现3D热图Heatmap应用
  2. Kooboo CMS - Html.FrontHtml.Position 详解
  3. C#构造方法重载
  4. js实现继承
  5. Azure SoftEther VPN
  6. 着色器(Shader)
  7. Python学习之路——字符处理(二)
  8. linux awk 命令详解
  9. Java进阶(二十八)SimpleDateFormat格式化日期问题
  10. 在Windows Server 2008 R2下搭建jsp环境(二)-mysql的下载安装
  11. qcharts编译
  12. Ordering Tasks
  13. LoadRunner监控window系统各项指标详解
  14. TensorFlow安装教程---windows8.1
  15. 使用Highcharts生成折线图_at last
  16. EBS 中iSupplier模块中的MAPPING_ID
  17. uva1424
  18. 【BZOJ 3566】 3566: [SHOI2014]概率充电器 (概率树形DP)
  19. 关于IIS权限问题(Selenium WebDriver调用出错记录)
  20. Swift_函数

热门文章

  1. P1340 兽径管理 洛谷
  2. 洛谷 P3984 高兴的津津
  3. JSP中自动刷新
  4. MongoDB小结14 - find【查询条件$lt $lte $gt $gte】
  5. firemonkey获取当前文件所在路径的方法
  6. 《编程导论(Java)&amp;#183;3.1.2 方法》之 副作用
  7. YII数据流程浅析
  8. Django打造大型企业官网(四)
  9. C/C++生成可执行文件过程
  10. Codeforces Round #324 (Div. 2)C. Marina and Vasya set