LintCode Q182 Delete Digits in Python

  • Jinhai ZHOU
  • 3 Minutes
  • 2017年1月12日
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
class Solution:
"""
@param A: A positive integer which has N digits, A is a string.
@param k: Remove k digits.
@return: A string
"""
def DeleteDigits(self, A, k):
# write you code here
# greedy algorithme
digits = map(int, list(A))
if k >= len(A):
return 0
for i in xrange(k):
for j in xrange(1, len(digits)):
if digits[j-1] <= digits[j]:
continue
else:
break
if digits[j-1] <= digits[j]:
del digits[j]
else:
del digits[j-1]
while len(digits) > 1 and digits[0] == 0:
del digits[0]
return ('').join(map(str, digits))
知识共享许可协议
本作品采用知识共享署名-相同方式共享 4.0 国际许可协议进行许可。