剑指Offer:二维数组中的查找
来源:互联网 发布:一个java多线程代码 编辑:程序博客网 时间:2024/05/03 14:36
二维数组中的查找
在一个二维数组中,每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序。请完成一个函数,输入这样的一个二维数组和一个整数,判断数组中是否含有该整数。
我觉得这是暴力解法,先留着吧,等过段时间看能不能自己改一波,不知到这是怎么AC的。
class Solution {public: bool Find(vector<vector<int> > array,int target) { if(array.empty()) return false; int pre=0,back=1; int sz=array.size(); for(int i=0;i<sz;++i){ int sz0=array[i].size(); for(int j=0;j<sz0&&array[i][j]<=target;++j){ if(array[i][j]==target) return true; } } return false; }};
2016.9.8更新
对于从右上角(或左下角)开始带有排除性的解决,可以快很多。
class Solution {public: bool Find(vector<vector<int> > array,int target) { if(array.empty()) return false; int h=array.size(); if(array[0].empty()) return false; int w=array[0].size(); for(int j=0,i=w-1;j<h;++j){ for(;i>=0;--i){ if(array[j][i]<target){ break; } else if(array[j][i]==target){ return true; } } if(i==-1){ return false; } } return false; }};
0 0
- 剑指offer-->二维数组中的查找
- 剑指offer之二维数组中的查找
- 剑指offer:3-二维数组中的查找
- [剑指Offer]二维数组中的查找
- 【剑指offer】二维数组中的查找
- [剑指Offer]二维数组中的查找
- 剑指Offer:二维数组中的查找
- 【剑指offer】二维数组中的查找
- 剑指offer 1384 二维数组中的查找
- 剑指Offer之二维数组中的查找
- 剑指offer 03:二维数组中的查找
- 剑指offer(2) - 二维数组中的查找
- 剑指offer-二维数组中的查找
- 剑指offer-3 二维数组中的查找
- 剑指Offer之 - 二维数组中的查找
- 剑指offer 3 -二维数组中的查找
- 剑指offer之二维数组中的查找
- [剑指Offer]5.二维数组中的查找
- [2016/8/2][暑假集训]数论基础
- HTML特殊字符编码大全
- 2016夏季练习——排序(AI)
- 软件安装下载【Android】
- 最长上升子序列
- 剑指Offer:二维数组中的查找
- js语法规范
- slidingmenu侧拉菜单
- Fragment基本解析
- 腾讯2016年研发工程师笔试题(一)
- 数据结构实验之栈八:栈的基本操作
- nyoj 27 水池数目【DFS】
- 递归的函数
- 【Linux全面学习】15.配置sshd远程登录管理