Skip to content

Commit 95b010c

Browse files
authored
Create minimum-increment-to-make-array-unique.py
1 parent ae41273 commit 95b010c

File tree

1 file changed

+21
-0
lines changed

1 file changed

+21
-0
lines changed
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,21 @@
1+
# Time: O(nlogn)
2+
# Space: O(n)
3+
4+
class Solution(object):
5+
def minIncrementForUnique(self, A):
6+
"""
7+
:type A: List[int]
8+
:rtype: int
9+
"""
10+
A.sort()
11+
A.append(float("inf"))
12+
result, duplicate = 0, 0
13+
for i in xrange(1, len(A)):
14+
if A[i-1] == A[i]:
15+
duplicate += 1
16+
result -= A[i]
17+
else:
18+
move = min(duplicate, A[i]-A[i-1]-1)
19+
duplicate -= move
20+
result += move*A[i-1] + move*(move+1)//2
21+
return result

0 commit comments

Comments
 (0)