1、什么是二维数组
二维数组就是数组套数组,数组的每一元素都是数组。也称为矩阵。
const arr = [
[1,2,3,4,5],
[1,2,3,4,5],
[1,2,3,4,5],
[1,2,3,4,5],
[1,2,3,4,5]
]
2、初始化二维数组
const len = arr.length;
for(let i=0;i<len;i++){
arr[i] = []
}
3、题解
题目:在一个二维数组中(每个一维数组的长度相同),每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序。请完成一个函数,输入这样的一个二维数组和一个整数,判断数组中是否含有该整数。
解法1:暴力循环法
var find = function(matrix, target) {
if(matrix.length === 0)return false;
let x = matrix.length;
let y = matrix[0].length;
for(let i=0;i<x;i++){
for(let j=0;j<y;j++){
if(matrix[i][j] === target){
return true
}
}
}
return false;
};
解法2:从右上角开始比对
function find(target, arr){
let x = arr.length;
let y = arr[0].length;
let i = 0,
j = y-1;
while(i<x&&j>=0){
if(arr[i][j] === target)return true;
else if(arr[i][j] < target) i+=1;
else if(arr[i][j] > target) j-=1;
}
return false
}