Skip to content

Commit d0d4642

Browse files
committed
refactor
1 parent 4ec32d0 commit d0d4642

File tree

1 file changed

+4
-20
lines changed

1 file changed

+4
-20
lines changed

Python/largest-number.py

Lines changed: 4 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -12,26 +12,10 @@ class Solution:
1212
# @param num, a list of integers
1313
# @return a string
1414
def largestNumber(self, num):
15-
largest = ""
16-
nonzero = False
17-
for n in sorted(num, cmp=self.cmp_items):
18-
if n != 0:
19-
nonzero = True
20-
if nonzero:
21-
largest += "{}".format(n)
22-
23-
if largest == "":
24-
largest = "0"
25-
26-
return largest
27-
28-
def cmp_items(self, a, b):
29-
if a == b:
30-
return 0
31-
elif "{}{}".format(a, b) > "{}{}".format(b, a):
32-
return -1
33-
else:
34-
return 1
15+
num = [str(x) for x in num]
16+
num.sort(cmp=lambda x, y: cmp(y + x, x + y))
17+
ret = ''.join(num)
18+
return ret.lstrip('0') or '0'
3519

3620
if __name__ == "__main__":
3721
num = [3, 30, 34, 5, 9]

0 commit comments

Comments
 (0)