题目:
在一个二维数组中(每个一维数组的长度相同),每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序。请完成一个函数,输入这样的一个二维数组和一个整数,判断数组中是否含有该整数。
思路:
二维数组的定义:二维数组本质上是以数组作为数组元素的数组,即“数组的数组”,类型说明符 数组名[常量表达式][常量表达式]。二维数组又称为矩阵,行列数相等的矩阵称为方阵。对称矩阵a[i][j] = a[j][i],对角矩阵:n阶方阵主对角线外都是零元素。 ~~
首先选择数组左下角的数字作为起点。如果该数字等于要查找的数字,则输出且查找过程结束。如果该数字小于要查找的数字,则剔除整列;如果该数字大于要查找的数字,剔除这个数字所在的行。即如果要查找的数字不在数组的左下角,每一次在数组的查找范围中剔除一行或者一列。也就是要每一步都可以缩小查找的范围,直到找到要查找的那个整数。
JS代码
1 | function Find(target, array) |