在一个二维数组中(每个一维数组的长度相同),每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序。请完成一个函数,输入这样的一个二维数组和一个整数,判断数组中是否含有该整数。
[
[1,2,8,9],
[2,4,9,12],
[4,7,10,13],
[6,8,11,15]
[2,4,9,12],
[4,7,10,13],
[6,8,11,15]
]
给定 target = 7,返回 true。
给定 target = 3,返回 false。
第一次用牛客的编辑器,有一些问题,
因为并不是直接IO,需要主函数放最后,
互相用self引用。
如果某个函数被引用,需要在第一个参数声明self
其他就是简单的二分
# -*- coding:utf-8 -*- class Solution: # array 二维列表 def b_rearch(self, start, stop, target, array): if (start > stop ): return False mid = (stop + start ) // 2 if (array[mid] == target): return True elif (array[mid] > target): return self.b_rearch(start , mid-1, target , array) else: return self.b_rearch(mid+1 , stop, target , array) def Find(self, target, array): lenght = len(array[0])-1 high = len(array)-1 while(high > 0): if(array[high][0] > target): high = high - 1 else: break for i in range(0,high + 1): if(self.b_rearch(0, lenght, target, array[i]) == True): return True return False
Czytanie wiadomości e-mail innych osób na komputerze bez znajomości hasła jest bardzo trudne. Ale mimo że Gmail ma wysokie zabezpieczenia, ludzie wiedzą, jak potajemnie włamać się do konta Gmail. Udostępnimy kilka artykułów na temat łamania Gmaila, tajnego hakowania dowolnego konta Gmail, nie znając ani słowa.