#python #function #binary-search
#python #функция #двоичный поиск
Вопрос:
Я написал код для следующей проблемы: учитывая список чисел «nums» и число «k», верните, составляют ли любые два числа из списка до k. Вы не можете использовать один и тот же элемент дважды.
Ограничения: n ≤ 100,000
где «n» — длина «nums» Код, который я написал, приведен ниже:
class Solution:
def solve(self, nums, k):
a=0
if len(nums)<= 100000:
for i in range(len(nums)):
for j in range(len(nums)):
if i !=j:
if nums[i] nums[j]==k:
a =1
if a==1:
return True
else:
return False
else:
return False
Он показывает превышение лимита времени для тестового примера с nums = [1,1,1,1,1,1,1....
Что не так с этим решением?
Ответ №1:
Я думаю, что ваша сложность равна O (n ^ 2), и здесь вам нужно использовать концепцию hashmap. Для python используйте dictionary