ᅠ
itertools.accumulateSize: a a a
ᅠ
itertools.accumulateᅠ
TD
ᅠ
ᅠ
ᅠ
len([n for n in numbers if n]) ᅠ
functools.reducereduce(lambda s, n: s + bool(n), numbers)AT
transaction_number, которое представляет собой количество транзакций, которые вы можете совершить. Одна сделка состоит из покупки акции в данный день и продажи в другой, в более поздний день.transaction_number.prices = [5, 11, 3, 50, 60, 90]
transaction_number = 293 // Buy: 5, Sell: 11; Buy: 3, Sell: 90𝕬
pl
pl
А
sum(map(bool, numbers))) 🌚БГ
AT
transaction_number, которое представляет собой количество транзакций, которые вы можете совершить. Одна сделка состоит из покупки акции в данный день и продажи в другой, в более поздний день.transaction_number.prices = [5, 11, 3, 50, 60, 90]
transaction_number = 293 // Buy: 5, Sell: 11; Buy: 3, Sell: 90𝕬
БГ
AT
import operator
prices = [5, 11, 3, 50, 60, 90]
transaction_number = 2
def neighbours(arr, i):
res = []
if i < len(arr) - 1:
res.append(arr[i + 1])
if i > 0:
res.append(arr[i - 1])
return res
def _extremums(func, name):
def inner(arr):
return {(name, i, x) for i, x in enumerate(arr) if all(func(x, y) for y in neighbours(arr, i))}
return inner
lows = _extremums(operator.lt, 'low')
highs = _extremums(operator.gt, 'high')
extremums = sorted(lows(prices) | highs(prices), key=lambda x: x[1])
print(sum(x[1] for x in sorted(((i, abs(x[2] - y[2])) for i, (x, y) in enumerate(zip(extremums, extremums[1:]))), key=lambda x: x[1])[-transaction_number:]))
БГ
import operator
prices = [5, 11, 3, 50, 60, 90]
transaction_number = 2
def neighbours(arr, i):
res = []
if i < len(arr) - 1:
res.append(arr[i + 1])
if i > 0:
res.append(arr[i - 1])
return res
def _extremums(func, name):
def inner(arr):
return {(name, i, x) for i, x in enumerate(arr) if all(func(x, y) for y in neighbours(arr, i))}
return inner
lows = _extremums(operator.lt, 'low')
highs = _extremums(operator.gt, 'high')
extremums = sorted(lows(prices) | highs(prices), key=lambda x: x[1])
print(sum(x[1] for x in sorted(((i, abs(x[2] - y[2])) for i, (x, y) in enumerate(zip(extremums, extremums[1:]))), key=lambda x: x[1])[-transaction_number:]))
AT
ᅠ
import operator
prices = [5, 11, 3, 50, 60, 90]
transaction_number = 2
def neighbours(arr, i):
res = []
if i < len(arr) - 1:
res.append(arr[i + 1])
if i > 0:
res.append(arr[i - 1])
return res
def _extremums(func, name):
def inner(arr):
return {(name, i, x) for i, x in enumerate(arr) if all(func(x, y) for y in neighbours(arr, i))}
return inner
lows = _extremums(operator.lt, 'low')
highs = _extremums(operator.gt, 'high')
extremums = sorted(lows(prices) | highs(prices), key=lambda x: x[1])
print(sum(x[1] for x in sorted(((i, abs(x[2] - y[2])) for i, (x, y) in enumerate(zip(extremums, extremums[1:]))), key=lambda x: x[1])[-transaction_number:]))