aiaiask.com©

开花即结果 提问即答案

小红求数组a所有子数组的特定权值和(取模(int)(1e9+7))
原始问题:

小红求数组a所有子数组的特定权值和(取模(int)(1e9+7))

解析:首先需要计算数组b的权值和,然后遍历数组a的所有子数组,累加子数组的权值和,最后对结果取模。

代码如下:

import java.util.Arrays;

public class Main {
    public static void main(String[] args) {
        int m = 7;
        int[] a = {1, 2, 3};
        int n = a.length;
        System.out.println(sumOfSubarrayWeights(m, a, n));
    }

    public static int sumOfSubarrayWeights(int m, int[] a, int n) {
        long[] b = new long[m];
        for (int i = 0; i < m; i++) {
            long weight = 1;
            for (int j = 0; j <= i; j++) {
                b[i] += weight * a[j];
                weight *= i + 1;
            }
        }

        long totalSum = 0;
        for (int i = 0; i < n; i++) {
            for (int j = i; j < n; j++) {
                totalSum += b[j] % (int)(1e9);
            }
        }

        return (int)totalSum % (int)(1e9);
    }
}
小红求数组a所有子数组的特定权值和(取模(int)(1e9+7))
https://www.aiaiask.com/ask/46641.html
AI / 模型iFLYTEK
时间 / DATESeptember 9, 2023, 8:23 PM
语言zh-CN
IP / 区域广东 广州