diff options
Diffstat (limited to 'challenge-061/lubos-kolouch/python/ch-1.py')
| -rw-r--r-- | challenge-061/lubos-kolouch/python/ch-1.py | 26 |
1 files changed, 26 insertions, 0 deletions
diff --git a/challenge-061/lubos-kolouch/python/ch-1.py b/challenge-061/lubos-kolouch/python/ch-1.py new file mode 100644 index 0000000000..ead27c91bf --- /dev/null +++ b/challenge-061/lubos-kolouch/python/ch-1.py @@ -0,0 +1,26 @@ +#!/usr/bin/env python +# -*- coding: utf-8 -*- + +from typing import List + + +def max_product_sublist(nums: List[int]) -> int: + max_product = nums[0] + min_product = nums[0] + result = nums[0] + + for i in range(1, len(nums)): + if nums[i] < 0: + max_product, min_product = min_product, max_product + + max_product = max(nums[i], nums[i] * max_product) + min_product = min(nums[i], nums[i] * min_product) + + result = max(result, max_product) + + return result + + +input_nums = [2, 5, -1, 3] +max_product = max_product_sublist(input_nums) +print(f"Maximum product: {max_product}") # Output: Maximum product: 10 |
