🍞环境:牛客的编译环境
🍰语言:JavaScript
☕️难点:一开始并不了解js中的二维数组,于是去查了一下定义。
🍊题目:在一个二维数组中(每个一维数组的长度相同),每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序。请完成一个函数,输入这样的一个二维数组和一个整数,判断数组中是否含有该整数。
🌟解题思路:js中的二维数组格式是这样子的,如下
var arr = [[1,2,4,6],[2,4,7,8],[8,9,10,11],[9,12,13,15]]
题目已知每个一维数组的长度相同
当我在遍历外层for循环时,每次拿到的都是一整行的数组,只要对比每一行的第一个是否比target小就知道需不需要去遍历这一行了,如果小,则用item去保存这一行也就是一个数组,之后再遍历item就可以了。
🥝代码:
function Find(target, array)
{
// write code here
for(var i = 0; i < array.length; i++){
if(array[i][0] <= target){
var item = array[i];
for(var j = item.length - 1; j >= 0; j--){
if(item[j] == target){
return true;
}
}
}
}
}