用任務棧儲存,
一位一位比較大小,存到任務棧中,大的放在上面,小的放在下面
去除最前邊的k個數字
排序是從大到小的排序,去到k個資料之後,就是我們所需要的資料,
把當前資料,倒序排列,得到答案
public class myclass
public string removekdigits(string num, int k)
//棧頂始終是最大值
stackstack=new stack<>();
stack.push(num.charat(0)-'0');
for(int i=1;i0&&now0)
//10,1(當now=0時,滿足條件,去掉1,但now為0,且為空。)
if(stack.isempty())
stringbuilder sb=new stringbuilder();
while(!stack.isempty())
//從後往前新增所以我們要逆序
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...
leetcode402移掉K位數
給定乙個以字串表示的非負整數 num,移除這個數中的 k 位數字,使得剩下的數字最小。注意 num 的長度小於 10002 且 k。num 不會包含任何前導零。示例 1 輸入 num 1432219 k 3 輸出 1219 解釋 移除掉三個數字 4,3,和 2 形成乙個新的最小的數字 1219。思路...