小红求数组a所有子数组的特定权值和(取模(int)(1e9+7))
解析:首先需要计算数组b的权值和,然后遍历数组a的所有子数组,累加子数组的权值和,最后对结果取模。
代码如下:
```java
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);
}
}
```
免责声明:
以上内容除特别注明外均来源于网友提问,创作工场回答,未经许可,严谨转载。