Go快速查找有序二维数组的数字

本文介绍如何在已排序的二维数组中查找特定整数。通过分析数组排列规律,从顶点开始,逐步缩小搜索范围,实现O(log n)时间复杂度的查找方法。文中提供了解决思路、规律解析以及相应的Go代码实现,并给出了单元测试案例。
摘要由CSDN通过智能技术生成

Hello,你来了,今天也和我一起做题吧!

不忘初心,砥砺前行 

作者 | 陌无崖

转载请联系授权 

导语

大家肯定对数组都不陌生,今天的这道题就是关于数组的,在做这道题之前呢,先带领大家回顾一下数组的要点。

数组

数组是一块连续的内存并按照顺序存储数据,使用数组必须分配内存,因此数组的空间效率差,经常会出现空闲的区域没有得到充分利用。数组的的内存连续,根据下标在O(1)时间读/写任何元素,时间效率高。

题目描述

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

1  2  8  9
2  4  9  12
4  7  10 13
6  8  11 15

解决思路

对于这样的题,我们应该尽量利用该类数组的性质,根据数组已

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值