Leecode402 移掉K位數字

2021-09-23 07:47:46 字數 640 閱讀 9253

用任務棧儲存,

一位一位比較大小,存到任務棧中,大的放在上面,小的放在下面

去除最前邊的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。思路...