自适应网站制作方案,软件官网模板,什么是wordpress,php网站开发实训实践总结【力扣】1588. 所有奇数长度子数组的和
给你一个正整数数组 arr #xff0c;请你计算所有可能的奇数长度子数组的和。子数组 定义为原数组中的一个连续子序列。请你返回 arr 中 所有奇数长度子数组的和 。
示例 1#xff1a; 输入#xff1a;arr [1,4,2,5,3] 输出#x…【力扣】1588. 所有奇数长度子数组的和
给你一个正整数数组 arr 请你计算所有可能的奇数长度子数组的和。子数组 定义为原数组中的一个连续子序列。请你返回 arr 中 所有奇数长度子数组的和 。
示例 1 输入arr [1,4,2,5,3] 输出58 解释所有奇数长度子数组和它们的和为 [1] 1 [4] 4 [2] 2 [5] 5 [3] 3 [1,4,2] 7 [4,2,5] 11 [2,5,3] 10 [1,4,2,5,3] 15 我们将所有值求和得到 1 4 2 5 3 7 11 10 15 58
示例 2 输入arr [1,2] 输出3 解释总共只有 2 个长度为奇数的子数组[1] 和 [2]。它们的和为 3 。
示例 3 输入arr [10,11,12] 输出66
提示 1 arr.length 100 1 arr[i] 1000
题解
下标012345原数组14253前缀和01571215
class Solution {public int sumOddLengthSubarrays(int[] arr) {int[] s new int[arr.length 1];for (int i 0; i arr.length; i) {s[i 1] s[i] arr[i];}int sum 0;for (int i 0; i arr.length; i) {for (int length 1; i length arr.length; length 2) {int right i length ;int left i;sum s[right] - s[left];}}return sum;}public static void main(String[] args) {Solution solution new Solution();int[] testArry {1, 4, 2, 5, 3};System.out.println(solution.sumOddLengthSubarrays(testArry));}
}