【剑指offer】面试题04:二维数组中的查找(java)
在一个 n * m 的二维数组中,每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序。请完成一个函数,输入这样的一个二维数组和一个整数,判断数组中是否含有该整数。
示例:
现有矩阵 matrix 如下:
[
[1, 4, 7, 11, 15],
[2, 5, 8, 12, 19],
[3, 6, 9, 16, 22],
[10, 13, 14, 17, 24],
[18, 21, 23, 26, 30]
]
给定 target = 5,返回 true。
给定 target = 20,返回 false。
限制:
0 <= n <= 1000
0 <= m <= 1000
思路:
从右上角开始,可以看作是一棵二叉搜索树,比target大列减小,比target小行增大
代码:
class Solution {
public boolean findNumberIn2DArray(int[][] matrix, int target) {
if(matrix == null || matrix.length == 0||matrix[0].length<1) {
return false;
}
int j = matrix[0].length-1;
int i=0;
while(i<matrix.length&&j>=0)
{
if(matrix[i][j]==target)
{
return true;
}
else if(matrix[i][j]>target)
{
j--;
}
else
{
i++;
}
}
return false;
}
}
【剑指offer】面试题04:二维数组中的查找(java)相关推荐
- 剑指offer面试题04. 二维数组中的查找(Array)
题目描述 在一个 n * m 的二维数组中,每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序.请完成一个函数,输入这样的一个二维数组和一个整数,判断数组中是否含有该整数. 思路 ...
- 剑指offer刷题 04. 二维数组中的查找
剑指 Offer 04. 二维数组中的查找 1. 问题描述 在一个 n * m 的二维数组中,每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序.请完成一个高效的函数,输入这样的一 ...
- 剑指Offer - 面试题4. 二维数组中的查找(双指针)
1. 题目 在一个 n * m 的二维数组中,每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序.请完成一个函数,输入这样的一个二维数组和一个整数,判断数组中是否含有该整数. 示例 ...
- 剑指offer 面试题3—二维数组中找数
题目: 在一个二维数组中,每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序.请完成一个函数,输入这样的一个二维数组和一个整数,判断数组中是否含有该整数. 基本思想: 首先选取数组 ...
- 在数组中查找指定元素_剑指 offer 第一题: 二维数组中的查找
题目描述 在一个二维数组中(每个一维数组的长度相同),每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序.请完成一个函数,输入这样的一个二维数组和一个整数,判断数组中是否含有该整数 ...
- 牛客网-剑指offer 第一题(二维数组中的查找)
//题目:在一个二维数组中,每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序.请完成一个函数, 输入这样的一个二维数组和一个整数,判断数组中是否含有该整数. /*第一种 将每一行 ...
- JAVA剑指offer编程练习:二维数组中的查找(数组)
1.题目:在一个二维数组中(每个一维数组的长度相同),每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序.请完成一个函数,输入这样的一个二维数组和一个整数,判断数组中是否含有该整数 ...
- 剑指offer:面试题04. 二维数组中的查找
题目:二维数组中的查找 在一个 n * m 的二维数组中,每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序.请完成一个函数,输入这样的一个二维数组和一个整数,判断数组中是否含有该 ...
- 数组中其余的排除_[leetcode 剑指offer系列] 面试题04. 二维数组中的查找
题目难度: 简单 原题链接 今天继续更新剑指 offer 系列, 这道题的优化空间非常大, 个人感觉很适合作为面试题, 值得一做. 大家在我的公众号"每日精选算法题"中的聊天框中回 ...
- 剑指offer面试题[3]-二维数组的查找
题目描述 在一个二维数组中,每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序.请完成一个函数,输入这样的一个二维数组和一个整数,判断数组中是否含有该整数. 注:对于一个容器存储的 ...
最新文章
- 微软MVP社区夏日巡讲诚邀您的参与: 北京,上海,西宁,成都,西安
- keil2c语言使用教程,Keil教程(2)
- 转:亿级Web系统的高容错性实践(好博文)
- python替换所有标点符号 正则_python 把标点符号替换为空
- SpringBoot解决ajax跨域问题
- ppp在linux下的编译和安装
- windows下安装mysql 开机启动
- Kali Linux 2019.4用U盘安装以及解决Kali Linux 2019.4中文乱码问题
- java中的io系统详解[转]
- ps编辑工具:渐隐/合并拷贝
- 将经纬度转换为以度为单位的xy坐标
- 快递收件寄件JAVA小程序技术描述_解析“微快递”小程序的交互流程
- 2020泰迪杯C题解题流程
- Unity技能系统框架(三)分析一个具体被动技能
- 信号处理系列之限幅器(Limiter_FC)
- solr4.4 索引mysql数据库数据_solr4.4 索引mysql数据库数据(DataImport DIH QuickStart)
- 深度之眼(十七)——Python标准库
- 敏捷 scrum_敏捷教练,Scrum大师,交付经理
- 预训练模型最新综述:过去、现在和未来
- 《你好,放大器》----学习记录(六)
热门文章
- LeetCode 1293. 网格中的最短路径(DP/BFS)
- LeetCode 1015. 可被 K 整除的最小整数(数学)
- 程序员面试金典 - 面试题 05.03. 翻转数位(位运算)
- 程序员面试金典 - 面试题 17.04. 消失的数字(数学/位运算)
- Java可靠性测试fit_Java ParagraphVectors.fit方法代码示例
- php辅助框架,【PHP开发框架】Laravel框架中辅助函数:optional ()函数的介绍
- php必须汉字,php怎么只保留汉字
- 免费个人博客:使用hexo+github搭建详细教程
- Java什么是重用_深度解析:java必须掌握的知识点——类的重用
- python教程输入_python怎么输入一个集合