Skip to content

Commit 489bcdc

Browse files
committed
有序二维数组查找
1 parent 5f0bdb6 commit 489bcdc

File tree

1 file changed

+29
-0
lines changed

1 file changed

+29
-0
lines changed

剑指 Offer 01 二维数组查找.js

Lines changed: 29 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,29 @@
1+
/* 题目描述
2+
在一个二维数组中(每个一维数组的长度相同),每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序。请完成一个函数,输入这样的一个二维数组和一个整数,判断数组中是否含有该整数。
3+
4+
要求:时间复杂度 O(n)
5+
*/
6+
7+
function Find(target, array) {
8+
// 以右上角为起点,左侧比他小,右侧比他大;或者左下角开始,思路相似。
9+
let row = 0,
10+
col = array[0].length - 1
11+
while (row < array.length && col >= 0) {
12+
if (target > array[row][col]) {
13+
row += 1
14+
} else if (target < array[row][col]) {
15+
col -= 1
16+
} else {
17+
return true
18+
}
19+
}
20+
return false
21+
}
22+
23+
const arr = [
24+
[1, 5, 9],
25+
[3, 8, 12],
26+
[6, 9, 19]
27+
]
28+
29+
console.log(Find(9, arr))

0 commit comments

Comments
 (0)