演算法 移掉K位數字使得數值最小

2022-07-03 11:54:09 字數 563 閱讀 3206

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

leetcode

解題思路:如果這個數的各個位是遞增的,那麼直接從最後面開始移除一定就是最最小的;如果這個數的位值不是底層的,那麼,盡量移除高位的逆序數字。如果最後變成遞增了之後,k還有的剩,就再從後面移除大的數字。

記得需要移除高位的沒有用的零。

class

solution

res.

(num.

charat

(i));}

while

(k >0)

while

(res.

length()

>

0&& res.

charat(0

)=='0')

if(res.

length()

==0) res.

('0');

return res.

tostring()

;}}

移掉K位數字

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

移掉K位數字

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

移掉k位數字

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