首页 > 试题广场 > 二维数组中的查找
[编程题]二维数组中的查找
在一个二维数组中(每个一维数组的长度相同),每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序。请完成一个函数,输入这样的一个二维数组和一个整数,判断数组中是否含有该整数。
头像 叫我皮卡丘
发表于 2019-08-08 16:59:32
【剑指 offer】二维数组中的查找 -- Java 实现 一、暴力法 1. 分析 挨个遍历数组,如果找到就返回 true 2. 代码 public class Solution { public boolean Find(int target, int [][] array) { 展开全文
头像 把牛妹带回家
发表于 2019-07-26 15:35:13
重点: 数组为空 排好序 上面行的右边的数也可以比下面行左边的数大 顺序查找 def Find(self, target, array): # write code here if len(array)==0 or len(array[0])==0: r 展开全文
头像 凉风起天末
发表于 2019-08-13 22:51:14
分享五种解题方法,仅为拓宽思路:(注:如果您的代码出现了段错误问题,可能是没有考虑到空数组,健壮性也是算法的一部分) 一、左下/右上元素移动法:十分简单巧妙,我也是看了徘徊的路人甲的题解才后知后觉;复杂度为O(N),详见链接题解:链接:https://www.nowcoder.com/questio 展开全文
头像 道阻且长z
发表于 2019-09-01 14:32:46
思路: 暴力解法:对数组第一行进行二分查找,再对数组第二行进行二分查找。 矩阵是有序的:利用二维数组由上到下,由左到右递增的规律。那么选取右上角或者左下角的元素a[row][col]与target进行比较,当target小于元素a[row][col]时,那么target必定在元素a所在列的左边,即 展开全文
头像 JungleLee
发表于 2019-10-01 09:46:17
第一次写的时候,是用暴力的解法,就是每个对于每行进行二分查找,差不多是nLogn,平均差不多是n/2logn。 第二次写的时候对整个数组进行二分查找,先找到整个数组的中间的数,判断target 和array[x_mid][y_mid]的关系; ==:return true; >:以 展开全文
头像 清心_恋旧
发表于 2019-07-26 11:26:56
public boolean Find(int target, int [][] array) { boolean result = false; int count = array.length; for (int i=0;i<count;i++){ int num = array[i].l 展开全文
头像 流浪~
发表于 2019-08-30 16:44:11
二维数组中的查找 在一个二维数组中(每个一维数组的长度相同),每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序。请完成一个函数,输入这样的一个二维数组和一个整数,判断数组中是否含有该整数。 分析: 同一行中元素从小到大排列; 同一列中元素从小到大排列; 方法1:暴力解法 p 展开全文
头像 Parzulpan
发表于 2019-07-27 18:20:47
题目描述 在一个二维数组中(每个一维数组的长度相同),每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序。请完成一个函数,输入这样的一个二维数组和一个整数,判断数组中是否含有该整数。 编程思想 首先选取数组中右上角(或者左下角)的数字,如果该数字等于要查找的数字则返回true,如 展开全文
头像 tapas
发表于 2019-08-21 22:49:12
题目1 在一个二维数组中(每个一维数组的长度相同),每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序。请完成一个函数,输入这样的一个二维数组和一个整数,判断数组中是否含有该整数。         问题在于缩小搜索范围,要找到正确的切入点,左上方和右下方不行,因为每次数值的不 展开全文
头像 郭家兴0624
发表于 2019-08-09 18:41:55
在一个二维数组中(每个一维数组的长度相同),每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序。请完成一个函数,输入这样的一个二维数组和一个整数,判断数组中是否含有该整数。 分析:从左下角元素往上查找,右边元素是比这个元素大,上边是的元素比这个元素小。于是,target比这个元素 展开全文