LeetCode 1588 所有奇數長度子陣列的和

2021-10-09 15:37:53 字數 1105 閱讀 4227

給你乙個正整數陣列 arr ,請你計算所有可能的奇數長度子陣列的和。

子陣列 定義為原陣列中的乙個連續子串行。

請你返回 arr 中 所有奇數長度子陣列的和 。

輸入: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

輸入:arr = [1,2]

輸出:3

解釋:總共只有 2 個長度為奇數的子陣列,[1] 和 [2]。它們的和為 3 。

輸入:arr = [10,11,12]

輸出:66

寫乙個sum函式,用來求k個元素的和

遍歷陣列,當索引為奇數的時候使用sum函式,求和

class solution(object):

def sumoddlengthsubarrays(self, arr):

""":type arr: list[int]

:rtype: int

"""n = len(arr)

# self.total = 0

def sum(k):

total = 0

for i in range(n-k+1):

index = i

for j in range(k):

total += arr[index]

index = index + 1

return total

ans = 0

for i in range(1,n+1):

if i % 2 == 0:

continue

ans += sum(i)

print(i,ans)

return ans

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...

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...