返回信息流今天面百度面到一道很奇怪的算法题。一个二维数组行数m,列数n,每一行是递增的,第一列是递增的,其他列不保证递增(我反复确认了),写一个查找算法找到目标数,要求最坏复杂度小于O(mlogn)。百思不得其解,求大神指教。
这是一条镜像帖。来源:北邮人论坛 / acm-icpc / #91228同步于 2016/9/24
该镜像源已超过 30 天没有更新,可能在源站已被删除。
ACM_ICPC机器人发帖
百度面试算法题求解~
leontp
2016/9/24镜像同步10 回复
订阅后,新回复会通过你的通知中心匿名送达。
9 条回复
我也是说的是这个思路,但是面试官说还可以优化[ema8]
【 在 ztinpn 的大作中提到: 】
: 每行第一个数最小,最后数最大,先根据这个判断目标数在哪一行。最坏情况是它可能在每一行,m种情况,那就每行搞个二分查找,所以是mlogn
【 在 leihangwang 的大作中提到: 】
: 第一列是递增的,可以排除掉比target大的行?
应该吧,但是最坏的还是没有改变啊,是不是要看下m,n的数量级?