LeetCode 子陣列的最小值之和

2021-09-10 22:55:11 字數 483 閱讀 4262

一開始的思路是打算先求出所有子陣列,然後排序子陣列,最後相加,然而運算太複雜,會超出時間限制

sumsubarraymins (arr) 

}for (let k = 0; k < allarr.length; k++) )

res += allarr[k][0]

}console.log(allarr)

console.log(res)

}

後來改變思路,可以試著求每個arr[i]在子陣列中為最小值的長度(也就是個數)

例如:[3,1,2,4] 的最小值為 3,1,2,4,1,1,2,1,1,1,

3有1個、1有6個、2有2個、4有1個

3*1 + 1*6 + 2*2 + 4*1 =17

sumsubarraymins2 (a) 

console.log(res % mod)

}

LeetCode 907 子陣列的最小值之和

給定乙個整數陣列a,找到min b 的總和,其中b的範圍為a的每個 連續 子陣列。由於答案可能很大,因此返回答案模10 9 7。示例 輸入 3,1,2,4 輸出 17 解釋 子陣列為 3 1 2 4 3,1 1,2 2,4 3,1,2 1,2,4 3,1,2,4 最小值為 3,1,2,4,1,1,2...

LeetCode 907 子陣列的最小值之和

這裡是題目描述 leetcode 907.子陣列的最小值之和 本題給定乙個整數陣列a,求a的所有 連續 子陣列的最小值的和,直觀上可以用暴力法 列出a的所有子陣列,分別求出這些子陣列的最小值,再分別將這些最小值相加。但是通過分析時間複雜度 列舉出所有子陣列需要o n2 的時間複雜度,求乙個子陣列的最...

907 子陣列的最小值之和

碰到leetcode907,子陣列的最小值之和,用python3按自己思路寫死都過不去,怎麼都超時,這是python3 class solution def sumsubarraymins self,a type a list int rtype int res 0 length len a for...