杨氏矩阵--二维数组中的查找

题目:在一个二维数组中,每一行都按照从左到右递增的顺序排列,每一列都按照从上到下自增的顺序排列。请完成一个函数,输入这样的一个二维数组和一个整数,判断数组中,是否存在该整数
思路:
经过分析,我们得知,如果我们从数组的一个角上选取元素来和索要查找的数字进行比较,这样问题就会变得简单很多,经过多次尝试,我发现如下的规律:
首先选取数组中右上角的元素,如果该数字等于要查找的数字,则查找过程结束,如果该数字大于要查找的数字,删除这个数字所在的列:如果该数字小于索要查找的数字,则删除这个数字所在的行,也就是说,如果索要查找的元素不在数组的右上角,则每次都在数组的查找范围中剔除一行或者一列,这样的话,每一步都可以缩小查找的范围,直到找到所要查找的数字,或者查找范围为空。
在这里插入图片描述

发布了39 篇原创文章 · 获赞 37 · 访问量 1972

猜你喜欢

转载自blog.csdn.net/weixin_43831728/article/details/102947616