欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  后端开发

行元素从小到大递增,列元素从小到大递增的数组查找算法

程序员文章站 2024-01-02 10:30:22
...
题目:在一个二维数组中,每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序。请完成一个函数,输入这样的一个二维数组和一个整数,判断数组中是否含有该整数。

考点:这道题主要是要利用好所给的两个条件,行递增和列递增,将肯定不合适的数据排除在外,将要遍历的数据尽可能的减少。

数组例子如下:

1 2 8 9
2 4 9 12
4 7 10 13
6 8 11 15

解决一个复杂的问题时,最有效的办法就是从具体的问题入手分析。

通过观察可知,

1.列最开头如果大于要查找的数,那么要查找的数不可能在那一列,可以直接剪枝掉那一列;

结果如下:

1 2
2 4
4 7
6 8

2.通过剪枝列之后,可以发现,行最末尾的数如果小于要查找的数,那么要查找的数肯定也不在那一行;

结果如下:

4 7
6 8

3.这样数据就剪成最少的可能的数量,然后再对这些数据进行遍历查找,就可以了。

代码如下:

=0)
	{
		if($data[$row][$column]>$number&&$first)
		{
			$column--;
			//echo $column.',';
		}
		if($data[$row][$column]$number&&!$first)
		{
			break;
		}
	}

	for($i=$row;$i

版权声明:本文为博主原创文章,未经博主允许不得转载。

以上就介绍了行元素从小到大递增,列元素从小到大递增的数组查找算法,包括了方面的内容,希望对PHP教程有兴趣的朋友有所帮助。

行元素从小到大递增,列元素从小到大递增的数组查找算法

声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn核实处理。

相关文章

相关视频


上一篇:

下一篇: