From edaf966c50330b18cffe1e04c0fca375fa28908a Mon Sep 17 00:00:00 2001 From: Dale Seo <5466341+DaleSeo@users.noreply.github.com> Date: Thu, 20 Aug 2026 11:50:47 +0900 Subject: [PATCH] maximum-product-subarray --- maximum-product-subarray/DaleSeo.rs | 15 +++++++++++++++ 1 file changed, 15 insertions(+) create mode 100644 maximum-product-subarray/DaleSeo.rs diff --git a/maximum-product-subarray/DaleSeo.rs b/maximum-product-subarray/DaleSeo.rs new file mode 100644 index 0000000000..ac0097211f --- /dev/null +++ b/maximum-product-subarray/DaleSeo.rs @@ -0,0 +1,15 @@ +// TC: O(n) +// SC: O(1) +impl Solution { + pub fn max_product(nums: Vec) -> i32 { + let mut ans = nums[0]; + let (mut max, mut min) = (1, 1); + for num in nums { + let candidates = [max * num, min * num, num]; + max = *candidates.iter().max().unwrap(); + min = *candidates.iter().min().unwrap(); + ans = ans.max(max); + } + ans + } +}