题解 | #二维数组中的查找#

二维数组中的查找

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

```#
# 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可
#
# 
# @param target int整型 
# @param array int整型二维数组 
# @return bool布尔型
#
class Solution:
    def Find(self , target: int, array: List[List[int]]) -> bool:
        # write code here
        T=target
        rows=len(array)
        for i in range(rows):
            flag=self.erfen(T,array[i])
            if flag:
                return flag
        return flag
    def erfen(self , target: int, array: List[int]) -> bool:
        if len(array)==0:
            return False
        left=0
        right=len(array)-1
        while left<=right:
            half=(left+right)//2
            if target<array[half]:
                right=half-1
            if target>array[half]:
                left=half+1
            if target==array[half]:
                return True
        return False
##### 这个题先来理一理思路:最简单也最容易想到利用二分法来对每一小段求解,题目给出时间复杂度为O(m+n),
		我们知道二分法的时间复杂度为O(logn),如有m个小段那么时间复杂度为O(mlogn)满足要求。
全部评论

相关推荐

不愿透露姓名的神秘牛友
07-01 11:27
点赞 评论 收藏
分享
码农索隆:想看offer细节
点赞 评论 收藏
分享
06-07 19:59
门头沟学院 C++
补药卡我啊😭:都快15年前的了还在11新特性
你的简历改到第几版了
点赞 评论 收藏
分享
看到这个内容真是闹麻了。。。。。。现在有了AI以后很多人面试都会作弊吗?&nbsp;那对老老实实面试的人岂不是不公平....
程序员牛肉:公平那是对小孩子讲的童话故事,成年人的世界只有能不能接受失败的后果。 你要是能接受面试作弊被发现之后多家公司联合永久拉黑的后果,你就搞。
点赞 评论 收藏
分享
评论
1
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务