“音乐会治愈我,运动会治愈我,风景会治愈我,阅读会治愈我,做饭也会治愈我,还有阴雨天的被窝,周末可以肆无忌惮的赖床,我的意思是,我们应该热爱生活。”
WeChat
欢迎联系,一起进步。
文章目录
引子
基础 != 简单
1. 二维数组中的查找
涉及知识点:
查找
、数组
题目描述:在一个二维数组中(每个一维数组的长度相同),每一行都按照从左到右递增的顺序排序,每一列都按照 从上到下递增的顺序排序。请完成一个函数,输入一个二维数组和一个整数,判断数组中是否含有该整数。
1. 二维数组
[
[1, 2, 3],
[4, 5, 6],
[7, 8, 9]
]
2. for ... of 扫描数组的每一项
3. for ... in 扫描对象的每一个属性
let person = {
name: 'John',
age: 30,
gender: 'male'
}
for (let key in person) {
console.log(key + ': ' + person[key])
}
🗝️ 暴力枚举
function findIsContain(target, array) {
for(let arr of array) {
for(let item of arr) {
console.log(`找到了${
item}`)
return
}
}
console.log('没有找到该目标值')
}
findIsContain(1, [[1,2,3],[4,5,6],[7,8,9]])
🗝️ 二分查找
function findIsContain(target, array) {
for(let i = 0; i < array.length; i++) {
for(let j = 0; j < array[i].length; j++) {
let start = 0, end = array[i].length - 1
while(start <= end) {
let mid = Math.floor((start + end) / 2)
if(target < array[i][mid]) {
end = mid - 1
} else if(target > array[i][mid]) {
start = mid + 1
} else {
console.log("二维数组中找到了该值")
return
}