Конин Георгий/sum-of-subarray-minimums — различия между версиями
Материал из DISCOPAL
(Новая страница: «==Задача== * Leetcode/sum-of-subarray-minimums ==Код== <source lang="python"> class Solution: def sumSubarrayMins(self, arr: List[int]) -> int:…») |
(→Submission) |
||
Строка 30: | Строка 30: | ||
== Submission == | == Submission == | ||
− | https://leetcode.com/problems/sum-of-subarray-minimums/submissions/1439106215/ | + | https://leetcode.com/problems/sum-of-subarray-minimums/submissions/1439106215/{{checkme|[[Участник:Конин Георгий|Конин Георгий]] 15:01, 31 октября 2024 (UTC)}} |
Версия 15:01, 31 октября 2024
Задача
Код
class Solution: def sumSubarrayMins(self, arr: List[int]) -> int: stack=[] out=0 for i in arr: if not stack: stack.append([i,1,0]) else: cnt=0 while stack and stack[-1][0]>i: val,oc,r=stack.pop() out+=(val*(cnt+oc))+(cnt*r*val) cnt+=oc stack.append([i,1+cnt,cnt]) cnt=0 while stack: val,oc,r=stack.pop() out+=(val*(cnt+oc))+(cnt*r*val) cnt+=oc return out%((10**9)+7)
Submission
https://leetcode.com/problems/sum-of-subarray-minimums/submissions/1439106215/ Решено: Конин Георгий 15:01, 31 октября 2024 (UTC)