402 移掉K位數字 leetcode 單調棧

2021-10-09 23:01:33 字數 776 閱讀 9575

移掉k位數字

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

注意:num 的長度小於 10002 且 ≥ k。

num 不會包含任何前導零。

示例 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

res+

=c;}

while

(k--

) res.

pop_back()

;int i=

0,n=res.

size()

;while

(i=='0'

) i++;if

(i==n)

//空return

"0";

return res.

substr

(i);}}

;

402 移掉K位數字

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

402 移掉K位數字

給定乙個以字串表示的非負整數 num,移除這個數中的 k 位數字,使得剩下的數字最小。維護乙個單調遞增棧,解決拆開的最值問題 class solution q.offerlast num.charat i for int i 0 i k i stringbuffer sb newstringbuff...

402 移掉K位數字 golang

示例 2 輸入 num 10200 k 1 輸出 200 解釋 移掉首位的 1 剩下的數字為 200.注意輸出不能有任何前導零。示例 3 輸入 num 10 k 2 輸出 0 解釋 從原數字移除所有的數字,剩餘為空就是0。如果下乙個元素比當前棧元素小,移除當前元素,把下乙個元素入棧 10200 k ...