Facebook задача с собеседования на #Python на 120000 рублей #программирование #задача #код

Дана последовательность целых чисел M. Необходимо в ней найти количество подпоследовательностей с суммой элементов, равной k. Код решения сложности O(n^3): m = [7, 2, -5, 1, 1, -1, 5, -5] k = 5 cnt = 0 for x in range(len(m)-1): for y in range(x, len(m)): if sum(m[x:y 1]) == k: # print(m[x:y 1]) cnt = 1 print(cnt) O(n^2): m = [7, 2, -5, 1, 1, -1, 5, -5] k = 5 x = 0 k_sum = [] for n in range(0, len(m)): for el in m[n:]: x = el (x) print(k_sum) k_sum = [] x = 0 O(n) доп. память O(n): m = [7, 2, -5, 1, 1, -1, 5, -5] k = 5 hsh = {0: 1} cnt = 0 x = 0 for el in m: x = el cnt = (x-k, 0) hsh[x] = (x, 0) 1 print(cnt)
Back to Top