Back to Month
MEDIUM 21 Sep 2026 View on LeetCode

3524. Find X Value of Array I

</> Solution

class Solution {
    public long[] resultArray(int[] nums, int k) {
        int n = nums.length;
        long[] result = new long[k];
        long[] dp = new long[k];
        for (int r = 0; r < n; r++) {
            long[] newDp = new long[k];
            for (int rem = 0; rem < k; rem++) {
                if (dp[rem] > 0) {
                    int newRem = (int)((long) rem * (nums[r] % k) % k);
                    newDp[newRem] += dp[rem];
                }
            }
            newDp[nums[r] % k]++;
            for (int x = 0; x < k; x++) {
                result[x] += newDp[x];
            }
            dp = newDp;
        }
        return result;
    }
}

TIME COMPLEXITY

O(n × k)

SPACE COMPLEXITY

O(k)

TOPICS

Array Dynamic Programming