Конин Георгий/sum-of-subarray-minimums
Материал из DISCOPAL
Задача
Код
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/
StasFomin 02:21, 6 ноября 2024 (UTC):
- Много проблем с PEP8, см. Blog:Advanced_Algorithms/Python-решения_—_давайте_потренируемся_их_сделать_питонистей, пожалуйста, проверьте чекером. Пофиг на докстринги, хотя бы именования переменных, пробелы после запятых и все такое.
Тут многое легко исправить автоформатером, а читаемость вашего питон-кода будет важна в других квестах курса.
Плюс оформите подстраницей личной страницы! Вот, переименовал одну из ваших, сообразите с остальными.
[ Хронологический вид ]Комментарии
Войдите, чтобы комментировать.