lLeeCode最優題解收錄:1588.所有奇數長度子陣列的和
題解如下:
//以{1,2,3,4,5}為例,計算i為某確定值時候對應arr[i]出現的總次數。
public int sumOddLengthSubarrays(int[] arr) {
int sum = 0;
int len = arr.length;
for (int i = 0; i < arr.length; i++) {
//當i = 2時候,arr[2] = 3,左邊有2個元素1,2,
//需要保證連續,則取元素方式如下:
//取0個:{3}
//取1個:只取一個元素2.則{2,3}
//取2個:取2個元素1和2,則{1,2,3}
//所以有3種情況就是2+1種情況,也就是i+1種情況
int left = i + 1;
//右邊元素個數為:len-(i+1)個
//同理可得
int right = len - (i + 1) + 1;
//左邊取的元素個數0,1,2;則只有1為奇數,可得左邊取奇數個元素的方式:
int left_odd = left / 2;
//左邊取的元素個數0,1,2;則偶數為0個或者2個,可得左邊取偶數個元素的方式:
int left_even = (left + 1) / 2;
//同上,右邊取奇數個元素的方式
int right_odd = right / 2;
//同上,右邊取偶數個元素的方式
int right_even = (right + 1) / 2;
//左邊取任意奇數個同時右邊取任意奇數個加上自身,一共奇數個。任意組合所以是乘法。
//左邊取任意偶數個同時右邊取任意偶數個加上自身,一共奇數個。
//注意包含左右各取0個。
sum += arr[i] * (left_odd * right_odd + left_even * right_even);
}
return sum;
}
參考文章:https://leetcode-cn.com/problems/sum-of-all-odd-length-subarrays/solution/jie-shi-de-dian-luo-suo-bu-guo-ying-gai-hao-li-jie/
相關文章
- 1588 所有奇數長度子陣列的和(字首和)陣列
- 978 最長湍流子陣列陣列
- 203. 長度最小的子陣列陣列
- Leetcode 陣列中和為給定值的最長子陣列LeetCode陣列
- 2022-07-09:總長度為n的陣列中,所有長度為k的子序列裡,有多少子序列的和為偶數?陣列
- 程式碼隨想錄陣列二刷:長度最小的子陣列(滑動視窗)陣列
- leetcode_209. 長度最小的子陣列LeetCode陣列
- LeetCode-209-長度最小的子陣列LeetCode陣列
- 【LeetCode】209. 長度最小的子陣列LeetCode陣列
- 求陣列內所有偶數的和陣列
- 每日一練(45):長度最小的子陣列陣列
- 程式碼隨想錄刷題day 2 | 977.有序陣列的平方、 209.長度最小的子陣列、 59.螺旋矩陣II陣列矩陣
- 【LeetCode動態規劃#14】子序列系列題(最長遞增子序列、最長連續遞增序列、最長重複子陣列、最長公共子序列)LeetCode動態規劃陣列
- sizeof 和 strlen 計算陣列大小和長度詳解陣列
- 面試演算法題(4)--將一個整數陣列中的所有奇數放到偶數前面面試演算法陣列
- 字元陣列的長度字元陣列
- Q11 LeetCode209 長度最小的子陣列LeetCode陣列
- 子陣列異或和問題陣列
- 最長公共子串 二維陣列 Go實現陣列Go
- 977.有序陣列的平方 ,209.長度最小的子陣列 ,59.螺旋矩陣II陣列矩陣
- 子陣列的最大異或和問題陣列
- 3254. 長度為 K 的子陣列的能量值 I陣列
- LeetCode題解(1550):陣列中存在連續三個奇數(Python)LeetCode陣列Python
- 程式碼隨想錄演算法訓練營第二天 | 陣列 209.長度最小的子陣列演算法陣列
- 查詢陣列中出現次數大於陣列長度一半的數字陣列
- 【貪心法】奇數陣列 思路解析和程式碼陣列
- C++陣列長度C++陣列
- Java 定義長度為 0 的陣列 / 空陣列Java陣列
- 和為 K 的子陣列陣列
- Day2| 977.有序陣列的平方 ,209.長度最小的子陣列 ,59.螺旋矩陣II陣列矩陣
- Day2 |977.有序陣列的平方& 209.長度最小的子陣列&59.螺旋矩陣II陣列矩陣
- 【陣列】1550. 存在連續三個奇數的陣列(簡單)陣列
- 找出陣列中元素出現次數超過陣列長度一半的元素陣列
- C++獲取陣列的長度C++陣列
- Javascript如何改變陣列的長度?JavaScript陣列
- bzoj3173: [Tjoi2013]最長上升子序列(樹狀陣列)陣列
- 數值最優化—優化問題的解(二)優化
- 最長公共子序列LCS 輸出所有LCS