給你乙個正整數陣列 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
#include
intsumarr
(int
* arr,
int len)}}
return res;
//返回最後累加後的值
}int
main()
;printf
("%d\n"
,sumarr
(arr,
sizeof
(arr)
/sizeof
(arr[0]
)));
return0;
}
執行截圖如下
此方法時間複雜度較大。
關於計算所有連續子串行的最大和
以下是在關於計算所有連續子串行的最大和問題中最暴力的方法 def lagerset sum arr res arr 0 sum res for i in range 1,len arr if sum 0 sum sum arr i else sum arr i if sum res res sum ...
1588 所有奇數長度子陣列的和
題目描述 給你乙個正整數陣列 arr 請你計算所有可能的奇數長度子陣列的和。子陣列 定義為原陣列中的乙個連續子串行。請你返回 arr 中 所有奇數長度子陣列的和 示例 1 輸入 arr 1,4,2,5,3 輸出 58 解釋 所有奇數長度子陣列和它們的和為 1 1 4 4 2 2 5 5 3 3 1,...
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...