Back to November Back to Year 2026
MEDIUM 15 Nov 2026 View on LeetCode

1524. Number of Sub-arrays With Odd Sum

</> Solution

/**
 * Problem: LeetCode 1524 - Number of Sub-arrays With Odd Sum
 * Difficulty: Medium
 * Language: Java
 * Author: CodeByTushu
 */

class Solution {
    public int numOfSubarrays(int[] arr) {
        final int MOD = 1_000_000_007;

        int odd = 0;      // ab tak kitne prefix sums odd the
        int even = 1;     // empty prefix (sum 0) even hai
        int prefix = 0;   // current prefix sum ki parity (0 = even, 1 = odd)
        long ans = 0;

        for (int x : arr) {
            prefix = (prefix + x) % 2;

            if (prefix == 1) {
                // odd prefix - even prefix = odd sum
                ans += even;
                odd++;
            } else {
                // even prefix - odd prefix = odd sum
                ans += odd;
                even++;
            }

            ans %= MOD;
        }

        return (int) ans;
    }
}

TIME COMPLEXITY

O(N)

SPACE COMPLEXITY

O(1)

TOPICS

Array Data Structure Dynamic Programming Prefix Sum Subsequence