奇數偶數公式

2021-10-10 07:19:00 字數 876 閱讀 5352

一、求小於n有多少個奇數和偶數(包括0)

奇數有:i/2+1個

偶數有:(i+1)/2個

二、程式中的應用

題目:所有奇數長度的陣列之和

給你乙個正整數陣列 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

題解:這道題目首先第一反應就是暴力求解了,直接倆個for迴圈遍歷所有可能的情況就能得出結果,這裡就不貼**了。下面重點說一下第二種思路。

第二中方法就是我們不用列出所有的奇數陣列,只需要求下標i,在陣列中分割左邊0-i奇數偶數有多少個,右邊n-i-1有多少個奇數偶數。然後數nums[i]在奇陣列**現的次數則是loddrodd+levenreven次,那麼在最後res中nums[i]出現次數則是loddrodd+levenreven,依次迴圈遍歷則可以得到結果,時間法度o(n),空間o(1)

func sumoddlengthsubarrays(arr int) int 

return res

}

用好公式可以事半功倍

EXCEL 偶數 奇數行分開求和公式

例舉 a1行是 123 a2行是 321 a3行是 456 a4行是 789 我是加的是a1 a3得出的和 還有加的是a2 a4得出的和 因為要a1 a3一直加到a601,我用很笨的方式像這樣子乙個個加過來,所以excel說公式太複雜,加不出來,我只能在自己敲計算器加。請求大家看看有沒有簡單的公式可...

奇數下標為奇數偶數下表為偶數

給定乙個長度不小於2的陣列arr,實現乙個函式調整arr,要麼讓所有的偶數下標都是偶數,要麼讓所有的奇數下標都是奇數 注意 1 陣列下標從0開始!2 本題有special judge,你可以輸出任意一組合法解!同時可以證明解一定存在 要求 時間複雜度為o n o n 額外空間複雜度為o 1 o 1 ...

奇數偶數重組

輸入乙個整數陣列,實現乙個函式來調整該陣列中數字的順序,使得所有的奇數字於陣列的前半部分,所有的偶數字於位於陣列的後半部分,並保證奇數和奇數,偶數和偶數之間的相對位置不變。include include using namespace std void reorderarray vector arr...