Рубрики
Без рубрики

LeetCode: Лучшее время, чтобы купить и продавать акции II Python Solution с объяснением

Ссылка на вопрос летекода. Полное решение Def MaxProfit (Self, цены: список [int]) -> I … Теги с Python, структурами данных, алгоритмы.

Ссылка на вопрос летекода.

Полное решение

def maxProfit(self, prices: List[int]) -> int:
    if not prices or len(prices) is 1:
        return 0
    profit = 0
    for i in range(1, len(prices)):
        if prices[i] > prices[i - 1]
    return profit

Краевые чехлы

if not prices or len(prices) is 1:
    return 0

Нам нужно проверить, будет ли что-нибудь на входе. Если нет в входе или если там есть только один элемент, то мы не можем сделать никакой прибыли. Поэтому мы вернемся 0.

Отслеживание наших результатов

Прибыль Это должно быть довольно самочувствительным, где мы отслеживали то, что мы хотим вернуться в конце.

Проходить через вход

Для I в пределах (1, Лен (цены)): Вы можете сделать эту часть во многих отношениях, но то, как я решил, что это итализация входного массива, начиная со второго индекса, поэтому мы можем сравнить текущий к предыдущему. Если мы сравним текущий до предыдущего и начали в начале массива, то мы получим ошибку.

if prices[i] > prices[i - 1]:
    profit += prices[i] - prices[i - 1]

Поэтому, если наша текущая цена больше предыдущего акции, то это означает, что мы получим прибыль, которая в том, что мы хотим. Итак, мы добавим к нашему Прибыль Разница между нашей текущей ценой акций и ценой акций до нее.

Если цена на акции меньше, чем предыдущая цена акций, то мы не будем получать прибыль, поэтому мы продолжим итерацию через входной массив.

Наконец мы можем вернуть полученную прибыль.

Оригинал: “https://dev.to/jabermudez11/leetcode-best-time-to-buy-and-sell-stocks-ii-python-solution-with-explanation-35e1”