博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Search a 2D Matrix
阅读量:5825 次
发布时间:2019-06-18

本文共 1836 字,大约阅读时间需要 6 分钟。

Write an efficient algorithm that searches for a value in an m x n matrix. This matrix has the following properties:

 

  • Integers in each row are sorted from left to right.
  • The first integer of each row is greater than the last integer of the previous row.

 

For example,

Consider the following matrix:

[  [1,   3,  5,  7],  [10, 11, 16, 20],  [23, 30, 34, 50]]

Given target = 3, return true.

C++实现代码如下:

#include
#include
using namespace std;class Solution{public: bool searchMatrix(vector
> &matrix, int target) { if(matrix.empty()||matrix[0].empty()) return false; int i=0; int j=matrix[0].size()-1; int temp; while(i<(int)matrix.size()&&j>=0) { temp=matrix[i][j]; if(target==temp) return true; else if(target
temp) i++; } return false; }};int main(){ Solution s; vector
> vec= { { -10,-9}, { -7,-6}, { -5,-4}, { -3,-2} }; cout<
<

开始提交了一种,死活通不过。

class Solution {public:    bool searchMatrix(vector
> &matrix, int target) { if(matrix.empty()||matrix[0].empty()) return false; size_t i=0; size_t j=matrix[0].size()-1; int temp; while(i
=0) { temp=matrix[i][j]; if(target==temp) return true; if(target
temp) { i++; continue; } } if(i>=matrix.size()||j<0) return false; return true; }};

一直报错Last executed input:[[-10],[-7],[-4]], -6

就因为将i和j声明为size_t类型,可能出现下溢。可以参考:

转载地址:http://oxidx.baihongyu.com/

你可能感兴趣的文章
《Spring实战(第4版)》——2.2 自动化装配bean
查看>>
《Oracle数据库管理与维护实战》——2.7 数据分区
查看>>
肯硕(Kensho)揭开华尔街百年赚钱秘诀
查看>>
冒泡,setinterval,背景图的div绑定事件,匿名函数问题--工作中的思考
查看>>
泛微OA系统后台连接数据库的文件
查看>>
wsdl文件解析
查看>>
[SQL基础]入门
查看>>
百度2013研发工程师笔试卷B
查看>>
【MySQL】HEX,UNHEX 用例一则
查看>>
设计标签选择器TitleSwitch
查看>>
使用SDWebImage淡入淡出的方式加载图片
查看>>
15个nosql数据库
查看>>
Mac OS X 下搭建thrift环境
查看>>
Nagios 简介及其二次开发
查看>>
非阻塞同步算法实战(三)-LatestResultsProvider
查看>>
nasm预处理器(4)
查看>>
Linux命令学习总结:rm命令
查看>>
JUC ArrayBlockingQueue
查看>>
Design Pattern: Builder 模式
查看>>
众推项目的文档分享流程
查看>>