• 题目
在一个 n * m 的二维数组中,每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序。请完成一个函数,输入这样的一个二维数组和一个整数,判断数组中是否含有该整数。
  • 1.最普通的解法:
class Solution {public:bool findNumberIn2DArray(vector<vector<int>>& matrix, int target) {// 从左到右递增,从上到下递增for(int i = 0; i < matrix.size(); i++){int size_rol = matrix[i].size();for(int j = 0; j < size_rol ; j++){if(matrix[i][j] == target){return true;}//  if (j > 1 && i > 1)//  {//     if(matrix[i-1][j-1] < target && matrix[i-1][j] > target && matrix[i][j-1] > target)//    {//        return false;
//}//   }}}return false;}
};
  • 2.进阶解法:
class Solution {public:bool findNumberIn2DArray(vector<vector<int>>& matrix, int target) {// 获取行数、列数int row_size = matrix.size();int col_size = matrix[0].size();if(row_size == 0){return false;}if (col_size == 0){return false;}for(int i = 0; i < row_size && i< col_size; i++){if(matrix[i][i] == target){return true;}if(matrix[i][i] > target){for(int j = 0; j < i; j++){if(matrix[j][i] == target || matrix[i][j] == target){return true;}}return false;}}if(row_size > col_size){for(int t_ = col_size; t_ < row_size ; t_++){for(int k_ = 0; k_ < row_size; k_++){if(matrix[k_][t_] == target){return true;}}}return false;}if(row_size < col_size){for(int t_ = row_size; t_ < col_size ; t_++){for(int k_ = 0; k_ <col_size; k_++){if(matrix[t_][k_] == target){return true;}}}return false;}return false;}
};

LeetCode-----二维数组中的查找相关推荐

  1. javascript读取文本文件到二维数组代码_十行代码说清楚:leetcode 二维数组中的查找...

    剑指 Offer 04. 二维数组中的查找 这道题是将一维的二分查找扩展为二维数组中的二分查找. 关键点有 3 处: 起始点的选择 大于 target 时坐标的变化 小于 target 时坐标的变化 ...

  2. 剑指offer刷题(java)|二维数组中的查找|替换空格|leetcode刷题

    文章目录 前言 一.二维数组中的查找 题目 题解一 题解二 题解三 二.替换空格 题目 题解一 题解二 题解三 前言 本文主要是写了我做算法题的思路以及对其他优秀题解的自我理解. 一.二维数组中的查找 ...

  3. 【LeetCode】剑指 Offer 04. 二维数组中的查找

    [LeetCode]剑指 Offer 04. 二维数组中的查找 文章目录 [LeetCode]剑指 Offer 04. 二维数组中的查找 package offer;public class Solu ...

  4. leetcode|剑指offter|面试题4:二维数组中的查找

    面试题04. 二维数组中的查找 问题描述 在一个 n * m 的二维数组中,每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序.请完成一个函数,输入这样的一个二维数组和一个整数,判 ...

  5. 剑指offer:面试题04. 二维数组中的查找

    题目:二维数组中的查找 在一个 n * m 的二维数组中,每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序.请完成一个函数,输入这样的一个二维数组和一个整数,判断数组中是否含有该 ...

  6. 利用指针数组计算2个3行4列矩阵的和_[剑指 Offer] 04. 二维数组中的查找

    难度:简单 题目链接:剑指 Offer 04. 二维数组中的查找 题目描述: 在一个 n * m 的二维数组中,每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序.请完成一个函数, ...

  7. 二维数组的空间复杂度_剑指 offer 面试题精选图解 04 . 二维数组中的查找

    点击关注上方"图解面试算法", 设为"置顶或星标",一起刷 LeetCode. 作者:程序员吴师兄 今天分享的题目来源于 LeetCode 上的剑指 Offer ...

  8. 算法013:二维数组中的查找-在一个 n * m 的二维数组中,每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序。请完成一个函数,输入这样的一个二维数组和一个整数,判断中是否存在

    题目:在一个 n * m 的二维数组中,每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序.请完成一个函数,输入这样的一个二维数组和一个整数,判断数组中是否含有该整数.示例: 现有 ...

  9. php查找二维数组下标,PHP实现二维数组中的查找算法小结

    本文实例讲述了PHP实现二维数组中的查找算法.分享给大家供大家参考,具体如下: 方法1:silu从左下角最后一行的第一个元素开始,遍历.如果小于target 则遍历该行的所有元素,找到结束.如果大于继 ...

  10. [剑指Offer]5.二维数组中的查找

    题目 在一个二维数组中,每一行都依照从左到右递增的顺序排序,每一列都依照从上到下递增的顺序排序.请完毕一个函数,输入这种一个二维数组和一个整数.推断数组中是否含有该整数. 思路 [算法系列之三十三]杨 ...

最新文章

  1. 2021十大科技趋势来了!阿里巴巴达摩院全新发布
  2. Fragment官方解析
  3. Notepad++加上xml格式化的功能
  4. 转载-致IT同仁 —— IT人士常犯的17个职场错误
  5. 需求文档可以不签字吗之二-理论推导
  6. Python——制作深度学习数据集批量重命名图片文件名解决方案
  7. 记录今天写的几个正则,数字范围的校验
  8. java 4种跟踪会话技术_会话跟踪技术
  9. VB讲课笔记09:过程
  10. 解决IIS数据库连接出错方法
  11. mysql的过程返回执行成功与失败_进行数据库操作的时候,操作错误或者失败,但是不报错...
  12. flashfxp和任务计划自动定时ftp备份
  13. 电脑屏幕黑屏的终极解决办法
  14. 检测蛋白质构象是否合理————Ramachandran plot(拉氏图)
  15. 单片机8位、16位、32位和64位系统在内存上的区别
  16. oracle查询为姓 张,Oracle经典查询案例
  17. mysql查找语句报错_MYSQL报错注入-WEB资讯专栏-DMOZ中文网站分类目录-免费收录各类优秀网站的中文网站目录....
  18. Python中pip,pip3,虚拟环境(venv)三者的关系,如何在pycharm中使用虚拟环境,以及安装依赖包所遇到的问题。
  19. 光致发光量子效率(PLQY)计算软件-简易版本
  20. linux maskrom模式,微雪电子RK3308主板CC启动模式介绍

热门文章

  1. Webstorm的常用快捷键
  2. 机器学习之线性回归的改进-岭回归
  3. Java并发编程-八锁问题带你彻底理解对象锁和类锁
  4. MySQL学习-SQL语句的分类与MySQL简单查询
  5. linux下设置opencv环境变量
  6. CentOS 7下设置Docker代理(Linux下Systemd服务的环境变量配置)
  7. bzoj 2761: [JLOI2011]不重复数字【hash】
  8. php面试题汇总一(基础篇附答案)
  9. underscore.js中的节流函数debounce及trottle
  10. python与数值计算环境安装