Code Logo

Maximum Product of K Consecutive

Published at24 Jul 2026
Easy 0 views
Like0

Find the maximum product of any k consecutive elements.

Use a sliding window of size k. Initialize the window state with the first k elements. Slide the window one position at a time, updating the state efficiently. Track the maximum across all windows.

The sliding window technique processes each element exactly twice (once when it enters, once when it leaves), giving O(n) time complexity with O(1) extra space.

Edge cases include empty arrays (return appropriate default like 0), k larger than array length (return default), and single-element arrays where k=1.

Maintain the running product of each k-length window. Since multiplication can give varying results, compute product by dividing out the leaving element and multiplying by the new element.

Example Input & Output

Example 1
Input
[],2
Output
0
Example 2
Input
[1],1
Output
1
Example 3
Input
[2,3,4],2
Output
12
Example 4
Input
[1,2,3,4,5],3
Output
60
Example 5
Input
[-1,2,-3],2
Output
-2

Algorithm Flow

Recommendation Algorithm Flow for Maximum Product of K Consecutive
Recommendation Algorithm Flow for Maximum Product of K Consecutive

Solution Approach

Initialize the sliding window with the first k elements. Compute the initial maximum. For each position i from k to n-1, update the window by removing element i-k and adding element i. Update the result if the new window value is better.

Best Answers

java
class Solution {
    public int solution(int[] nums, int k) {
        if (nums.length==0) return 0;
        int w=0;for(int i=0;i<k;i++)w+=nums[i];
        int b=w;
        for(int i=k;i<nums.length;i++){w+=nums[i]-nums[i-k];b=Math.max(b,w);}
        return b;
    }
}