Skip to content

Commit 375e5e6

Browse files
authored
Update minimum-possible-integer-after-at-most-k-adjacent-swaps-on-digits.py
1 parent 99068a0 commit 375e5e6

File tree

1 file changed

+6
-6
lines changed

1 file changed

+6
-6
lines changed

Python/minimum-possible-integer-after-at-most-k-adjacent-swaps-on-digits.py

+6-6
Original file line numberDiff line numberDiff line change
@@ -28,17 +28,17 @@ def minInteger(self, num, k):
2828
:type k: int
2929
:rtype: str
3030
"""
31-
lookup = collections.defaultdict(collections.deque)
31+
lookup = collections.defaultdict(list)
3232
bit = BIT(len(num)+1)
33-
for i, d in enumerate(num):
33+
for i in reversed(xrange(len(num))):
3434
bit.add(i+1, 1)
35-
lookup[int(d)].append(i+1)
35+
lookup[int(num[i])].append(i+1)
3636
result = []
3737
for _ in xrange(len(num)):
3838
for d in xrange(10):
39-
if lookup[d] and bit.sum(lookup[d][0]-1) <= k:
40-
k -= bit.sum(lookup[d][0]-1)
41-
bit.add(lookup[d].popleft(), -1)
39+
if lookup[d] and bit.sum(lookup[d][-1]-1) <= k:
40+
k -= bit.sum(lookup[d][-1]-1)
41+
bit.add(lookup[d].pop(), -1)
4242
result.append(d)
4343
break
4444
return "".join(map(str, result))

0 commit comments

Comments
 (0)