二维数组中的查找

首先,这道题很简单,但它的解法有不少,这里提供3种


  • 第一种,暴力穷举法,时间复杂度 m*n

  • 第二种,根据题目给的该二维数组的特性,每行都是递增的数组,可以使用二分(折半)查找来解,该解法的 时间复杂度为 mlog2n

  • 第三种,就基本是根据题目给的二维数组的特性来解了,每行递增,每列也是递增
    那么,该二维数组的最右顶端的点 / 最左下方的点 ,这两个元素都可以作为用来比较的数,该解法的 时间复杂度为 m+n
    我这里以 最右顶端 的点为例

最后,推荐的话,是使用第二种方式来解
推荐链接:第三种解法详解,    推荐blog

posted @ 2019-04-14 21:17  AloeAndClover  阅读(177)  评论(0编辑  收藏  举报