题目来源:
leetcode题目,网址:1588. 所有奇数长度子数组的和 - 力扣(LeetCode)
解题思路:
暴力遍历所有可能求和。
解题代码:
class Solution {
public int sumOddLengthSubarrays(int[] arr) {
int res=0;
for(int i=1;i<=arr.length;i=i+2){
for(int j=0;j<arr.length;j++){
if(j+i>arr.length){
break;
}
for(int k=0;k<i;k++){
res+=arr[j+k];
}
System.out.println();
}
}
return res;
}
}
总结:
应该是有规律的,没有找到。
官方题解给出了三种解法。第一种是暴力求和。第二种是前缀和,提前算出前 x 项的和,在后面求和时通过减法得到。第三种是数学,求出每个数字出现的规律再一次遍历求和。