LeetCode-----二维数组中的查找
- 题目
在一个 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-----二维数组中的查找相关推荐
- javascript读取文本文件到二维数组代码_十行代码说清楚:leetcode 二维数组中的查找...
剑指 Offer 04. 二维数组中的查找 这道题是将一维的二分查找扩展为二维数组中的二分查找. 关键点有 3 处: 起始点的选择 大于 target 时坐标的变化 小于 target 时坐标的变化 ...
- 剑指offer刷题(java)|二维数组中的查找|替换空格|leetcode刷题
文章目录 前言 一.二维数组中的查找 题目 题解一 题解二 题解三 二.替换空格 题目 题解一 题解二 题解三 前言 本文主要是写了我做算法题的思路以及对其他优秀题解的自我理解. 一.二维数组中的查找 ...
- 【LeetCode】剑指 Offer 04. 二维数组中的查找
[LeetCode]剑指 Offer 04. 二维数组中的查找 文章目录 [LeetCode]剑指 Offer 04. 二维数组中的查找 package offer;public class Solu ...
- leetcode|剑指offter|面试题4:二维数组中的查找
面试题04. 二维数组中的查找 问题描述 在一个 n * m 的二维数组中,每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序.请完成一个函数,输入这样的一个二维数组和一个整数,判 ...
- 剑指offer:面试题04. 二维数组中的查找
题目:二维数组中的查找 在一个 n * m 的二维数组中,每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序.请完成一个函数,输入这样的一个二维数组和一个整数,判断数组中是否含有该 ...
- 利用指针数组计算2个3行4列矩阵的和_[剑指 Offer] 04. 二维数组中的查找
难度:简单 题目链接:剑指 Offer 04. 二维数组中的查找 题目描述: 在一个 n * m 的二维数组中,每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序.请完成一个函数, ...
- 二维数组的空间复杂度_剑指 offer 面试题精选图解 04 . 二维数组中的查找
点击关注上方"图解面试算法", 设为"置顶或星标",一起刷 LeetCode. 作者:程序员吴师兄 今天分享的题目来源于 LeetCode 上的剑指 Offer ...
- 算法013:二维数组中的查找-在一个 n * m 的二维数组中,每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序。请完成一个函数,输入这样的一个二维数组和一个整数,判断中是否存在
题目:在一个 n * m 的二维数组中,每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序.请完成一个函数,输入这样的一个二维数组和一个整数,判断数组中是否含有该整数.示例: 现有 ...
- php查找二维数组下标,PHP实现二维数组中的查找算法小结
本文实例讲述了PHP实现二维数组中的查找算法.分享给大家供大家参考,具体如下: 方法1:silu从左下角最后一行的第一个元素开始,遍历.如果小于target 则遍历该行的所有元素,找到结束.如果大于继 ...
- [剑指Offer]5.二维数组中的查找
题目 在一个二维数组中,每一行都依照从左到右递增的顺序排序,每一列都依照从上到下递增的顺序排序.请完毕一个函数,输入这种一个二维数组和一个整数.推断数组中是否含有该整数. 思路 [算法系列之三十三]杨 ...
最新文章
- 2021十大科技趋势来了!阿里巴巴达摩院全新发布
- Fragment官方解析
- Notepad++加上xml格式化的功能
- 转载-致IT同仁 —— IT人士常犯的17个职场错误
- 需求文档可以不签字吗之二-理论推导
- Python——制作深度学习数据集批量重命名图片文件名解决方案
- 记录今天写的几个正则,数字范围的校验
- java 4种跟踪会话技术_会话跟踪技术
- VB讲课笔记09:过程
- 解决IIS数据库连接出错方法
- mysql的过程返回执行成功与失败_进行数据库操作的时候,操作错误或者失败,但是不报错...
- flashfxp和任务计划自动定时ftp备份
- 电脑屏幕黑屏的终极解决办法
- 检测蛋白质构象是否合理————Ramachandran plot(拉氏图)
- 单片机8位、16位、32位和64位系统在内存上的区别
- oracle查询为姓 张,Oracle经典查询案例
- mysql查找语句报错_MYSQL报错注入-WEB资讯专栏-DMOZ中文网站分类目录-免费收录各类优秀网站的中文网站目录....
- Python中pip,pip3,虚拟环境(venv)三者的关系,如何在pycharm中使用虚拟环境,以及安装依赖包所遇到的问题。
- 光致发光量子效率(PLQY)计算软件-简易版本
- linux maskrom模式,微雪电子RK3308主板CC启动模式介绍