LeetCode 402 移掉k位數字

2021-09-10 08:18:14 字數 988 閱讀 6139

給定乙個以字串表示的非負整數 num,移除這個數中的 k 位數字,使得剩下的數字最小。

注意:

示例 1 :

輸入: num = "1432219", k = 3

輸出: "1219"

解釋: 移除掉三個數字 4, 3, 和 2 形成乙個新的最小的數字 1219。

示例 2 :

輸入: num = "10200", k = 1

輸出: "200"

解釋: 移掉首位的 1 剩下的數字為 200. 注意輸出不能有任何前導零。

示例3 :

輸入: num = "10", k = 2

輸出: "0"

解釋: 從原數字移除所有的數字,剩餘為空就是0。

保證高位比低位小,就可以拿到最小的數字

class solution:

def removekdigits(self, num, k):

""":type num: str

:type k: int

:rtype: str

"""if len(num)==k:

return '0'

i=0while i0:

if int(num[i])>int(num[i+1]):#前一位如果比後一位大,刪掉前一位

num=num[0:i]+num[i+1:]

k=k-1

if i>0:

i=i-1

else:

i=i+1

if k>0:

num=num[:-k]

while len(num)>1:

if num[0]=='0':

num=num[1:]

else:

break

return num

leetcode402移掉K位數

給定乙個以字串表示的非負整數 num,移除這個數中的 k 位數字,使得剩下的數字最小。注意 num 的長度小於 10002 且 k。num 不會包含任何前導零。示例 1 輸入 num 1432219 k 3 輸出 1219 解釋 移除掉三個數字 4,3,和 2 形成乙個新的最小的數字 1219。思路...

LeetCode 402 移掉K位數字

給定乙個以字串表示的非負整數 num,移除這個數中的 k 位數字,使得剩下的數字最小。注意 num 的長度小於 10002 且 k。num 不會包含任何前導零。示例 1 輸入 num 1432219 k 3 輸出 1219 解釋 移除掉三個數字 4,3,和 2 形成乙個新的最小的數字 1219。示例...

LeetCode 402 移掉K位數字

題目鏈結 題目描述 給定乙個以字串表示的非負整數 num,移除這個數中的 k 位數字,使得剩下的數字最小。注意 示例 輸入 num 1432219 k 3 輸出 1219 解釋 移除掉三個數字 4,3,和 2 形成乙個新的最小的數字 1219。輸入 num 10200 k 1 輸出 200 解釋 移...