题目

在一个二维数组中,每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序。

请完成一个函数,输入这样的一个二维数组和一个整数,判断数组中是否含有该整数。

数据范围

二维数组中元素个数范围 [0,1000]

样例

输入数组:[[1,2,8,9],[2,4,9,12],[4,7,10,13],[6,8,11,15]
]如果输入查找数值为7,则返回true,如果输入查找数值为5,则返回false。

解题思路

数组每一行都递增,每一列也都递增,从第一行开始比较,确立范围,然后从列继续比较索引,返回true或false

TIP

考虑target在数组左右范围之外;考虑数组为空的情况

代码

bool searchArray(int** array, int arrayRowSize, int arrayColSize, int target) {if(arrayRowSize==0 || arrayColSize==0) return false;if(target < **array || target > *(*(array+arrayRowSize-1)+arrayColSize-1)) return false;int i,j;for(i=0;*(*array+i)<=target && i<arrayColSize;i++);    //确立所在行数为i-1for(j=0;j<arrayRowSize;j++){if(*(*(array+j)+i-1) == target) return true;}return false;
}

剑指Offer——二维数组的查找(C语言)相关推荐

  1. 剑指Offer 二维数组中的查找

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

  2. python 二维数组长度_剑指offer二维数组中的查找【Java+Python】

    点击上方"蓝字",关注了解更多 二维数组中的查找 1. 题目描述 在一个二维数组中(每个一维数组的长度相同),每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序 ...

  3. 剑指offer - 二维数组中的查找

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

  4. 【二分法】剑指offer:二维数组中的查找

    对于二维数组中每一个一维数组,用二分查找,判断能否找到该数 leetcode专题笔记:二分法查找(1)(附leetcode题)_m0_52043808的博客-CSDN博客 代码: class Solu ...

  5. 隔一段时间查找一次 golang_剑指 offer-04 二维数组中的查找

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

  6. 《剑指Offer》 二维数组的查找 C语言版本

    文章目录 前言 题目解析 图片演示 target = 7 1.从矩阵左下角元素开始遍历,将其与目标值进行对比 2.元素18大于目标值7,行`row`索引向上移动一格 3.元素10大于目标值7,行`ro ...

  7. 剑指offer 二维有序数组查找

    题目描述 在一个二维数组中,每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序.请完成一个函数,输入这样的一个二维数组和一个整数,判断数组中是否含有该整数. java 解决方案:暴 ...

  8. 剑指0ffer04.二维数组中的查找

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

  9. 剑指Offer04. 二维数组中的查找

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

最新文章

  1. 那些巨头公司的前端面试都喜欢问些什么?
  2. Volley源码分析
  3. “玩转课堂”软件需求规格说明
  4. BRCM eCos下的编译及问题
  5. 19-chgrp命令
  6. php根据字符串生成变量名,PHP 自定义字符串中的变量名解析
  7. C语言的VC开发环境界面介绍,【c语言在vc++6.0中编写界面程序】
  8. lazada发货_Lazada 怎么发货:Lazada 订单发货流程
  9. mysql 默认事务隔离级别_详解MySQL事务的四大特性和隔离级别
  10. oracle交叉运算符,Oracle语句优化44个规则详解
  11. 构建元宇宙概念NFT商城系统——艺术数字藏品平台源码部署
  12. 【转载】装机知识显卡篇,一篇文章让小白透彻的了解显卡
  13. 查看linux进程日志,查看linux日志_查看linux日志的方法
  14. 狂热分子——码头工人的哲学沉思录
  15. 大数据分析,数据可视化之美,BI
  16. SQLite入门之读取手机短信
  17. android ps2 模拟器,手机目前安卓系统PS2模拟器最好用的是一款叫做呆萌PS2模拟器的APP!这一款竟然是国产的!...
  18. 第二十二章 Unity 光照贴图
  19. 【分布式技术专题】「OSS中间件系列」从0到1的介绍一下开源对象存储MinIO技术架构
  20. python人机对战_【人机对战】用python打造经典井字游戏

热门文章

  1. 微带线,带状线和接地共面波导的区别
  2. java 动态规划 硬币_硬币问题-动态规划详解
  3. IP属地的功能是如何实现的呢,简单实现获取ip地址和IP属地。
  4. python找出图中所有闭合环_这可能是史上最全的 Python 算法集(建议收藏)
  5. 状态错误CS0234命名空间“Windows”中不存在类型或命名空间名“Management”(是否缺少程序集引用?)
  6. [BLE--SMP]蓝牙安全管理之BLE的安全
  7. 微信小程序添加音乐组件
  8. 使用mapbox+turf.js完成迁徙图,流向图教程
  9. 对iOS开发有用的一些自动化处理脚本
  10. 参加七牛云“PISA”发布会随想录