Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- link="https://www.codingninjas.com/codestudio/problems/sum-of-minimum-and-maximum-elements-of-all-subarrays-of-size-k_1171047?leftPanelTab=1"
- from collections import deque
- def sumOfMaxAndMin(nums, n, k):
- # write your code here
- # return an integer denoting the answer
- q=deque()
- ans=0
- for i,val in enumerate(nums):
- while q and nums[q[-1]]<val:
- q.pop()
- q.append(i)
- if q[0]==i-k:
- q.popleft()
- if i>=k-1:
- ans+=nums[q[0]]
- q=deque()
- for i,val in enumerate(nums):
- while q and nums[q[-1]]>val:
- q.pop()
- q.append(i)
- if q[0]==i-k:
- q.popleft()
- if i>=k-1:
- ans+=nums[q[0]]
- return ans
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement