编程语言
首页 > 编程语言> > 【算法】剑指第二版面试题4 :二维数组中的查找

【算法】剑指第二版面试题4 :二维数组中的查找

作者:互联网

题干

在一个二维数组中(每个一维数组的长度相同),每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序。请完成一个函数,输入这样的一个二维数组和一个整数,判断数组中是否含有该整数。

func Find(board [][]int, target int) bool {}

直觉思路

二分查找的思想,不断缩小查找范围。

怎么想到的

不断缩小查找范围。

代码编写思路

多少行:rlen := len(board)
多少列: clen := len(board[0])

行索引和列索引最大值: rlen-1,clen-1

从右上角开始查找:初始化
r: 行索引,第一行, 0
c: 列索引,最后一列, clen-1

查找继续的条件:(最后一列最后一行都是可以继续查找的)
行索引(不断增加): r < rlen
列索引(不断减少): c >=0

时间复杂度 (TODO)

标签:试题,rlen,索引,查找,clen,board,数组,版面
来源: https://www.cnblogs.com/yudidi/p/12350645.html