Skip to content

Commit 74b17ce

Browse files
authored
Create minimum-operations-to-make-array-elements-zero.py
1 parent 810b3cc commit 74b17ce

File tree

1 file changed

+22
-0
lines changed

1 file changed

+22
-0
lines changed
Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,22 @@
1+
# Time: O(qlogr)
2+
# Space: O(1)
3+
4+
# greedy
5+
class Solution(object):
6+
def minOperations(self, queries):
7+
"""
8+
:type queries: List[List[int]]
9+
:rtype: int
10+
"""
11+
result = 0
12+
for l, r in queries:
13+
total = 0
14+
base = i = 1
15+
while base <= r:
16+
nl, nr = max(l, base), min(r, 4*base-1)
17+
if nl <= nr:
18+
total += i*(nr-nl+1)
19+
i += 1
20+
base *= 4
21+
result += (total+1)//2
22+
return result

0 commit comments

Comments
 (0)