剑指offer-二维数组的查找

二维数组中的查找

http://www.nowcoder.com/questionTerminal/abc3fe2ce8e146608e868a70efebf62e

语法:Python
解题思路:矩阵中元素的搜索过程是从全局到局部,一般的思路是从左上角横向开始搜索。因为题目说明,矩阵中的元素一定是小于其右边和下边的元素的。所以为了缩小寻找范围,搜索的方向只能是一个方向越来越大,一个方向越来越小(满足这个要求的只有右上角和左下角,因为左上角开始搜索左右两边都比该元素大、右下角开始搜索左右两边都比该元素小)。所以不妨从右上角开始,当目前元素(用current表示)比target大的时候,往左边找;当目前元素current比target小的时候,往下边找。current就是当前区域的右上角元素。
循环的终点是col<0或row>row_num。
需要注意的是,python二维数组的维度信息:

  1. 可以通过array.shape()获得(x, y)
  2. 可以通过len(array)获得行数,len(array[0])获得列数
全部评论

相关推荐

2024-12-29 19:48
河北科技大学 Java
没事就爱看简历:问题不在于简历:1、大学主修课程学那么多应用语言,作为计算机专业是很难理解的。 2、技能部分,每一个技能点的后半句话,说明对熟练,熟悉的标准有明显误会。 3、项目应该是校企合作的练习吧,这个项目你负责什么,取得了哪些成果都没有提及,只是列举了你认为有技术含量的点,而这些都有成熟的实现。
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客企业服务