1588. 所有奇数长度子数组的和
分析
枚举起点 i
和终点 j
,累积和
- 双重循环遍历
arr
,枚举所有可能的子数组起点i
和终点j
- 维护
sum
变量,计算arr[i] ~ arr[j]
的子数组和:- 每次
j
递增,就加上arr[j]
- 如果
j - i + 1
是奇数,说明当前sum
是一个奇数长度子数组和,就将当前sum
累加到res
里
- 每次
时间复杂度
时间复杂度 O(n^2)
空间复杂度
空间复杂度为 O(1)
C++代码
|
|
枚举起点 i
和终点 j
,累积和
arr
,枚举所有可能的子数组起点 i
和终点 j
sum
变量,计算 arr[i] ~ arr[j]
的子数组和:
j
递增,就加上 arr[j]
j - i + 1
是奇数,说明当前 sum
是一个奇数长度子数组和,就将当前 sum
累加到 res
里时间复杂度 O(n^2)
空间复杂度为 O(1)
|
|