From f05d888a0b621ca4e99e2b0fb6e23c097006fe41 Mon Sep 17 00:00:00 2001 From: Santo Cariotti Date: Tue, 28 May 2024 10:29:13 +0200 Subject: Init --- progs/a826.py | 23 +++++++++++++++++++++++ 1 file changed, 23 insertions(+) create mode 100644 progs/a826.py (limited to 'progs/a826.py') diff --git a/progs/a826.py b/progs/a826.py new file mode 100644 index 0000000..ce273aa --- /dev/null +++ b/progs/a826.py @@ -0,0 +1,23 @@ +def max_subarray_product(arr): + n = len(arr) + max_ending_here = 1 + min_ending_here = 1 + max_so_far = 0 + flag = 0 + for i in range(0, n): + if arr[i] > 0: + max_ending_here = max_ending_here * arr[i] + min_ending_here = min (min_ending_here * arr[i], 1) + flag = 1 + elif arr[i] == 0: + max_ending_here = 1 + min_ending_here = 1 + else: + temp = max_ending_here + max_ending_here = max (min_ending_here * arr[i], 1) + min_ending_here = temp * arr[i] + if (max_so_far < max_ending_here): + max_so_far = max_ending_here + if flag == 0 and max_so_far == 0: + return 0 + return max_so_far \ No newline at end of file -- cgit v1.2.3-18-g5258