領扣182 刪除數字

2021-09-16 18:28:43 字數 541 閱讀 1881

給出乙個字串a,表示乙個n位正整數,刪除其中k位數字,使得剩餘的數字仍然按照原來的順序排列產生乙個新的正整數,使得這個新的正整數盡可能小。n<=240,k<=n。

樣例:a=178542,k=4,返回字串「12」。

思路:每次對當前最高位進行選擇,在可選範圍內選最小的值。這裡的可選範圍指:例如a=90249,k=2,newlen=3,res.size()=0,則最高位搜尋範圍:902,即0~a.size()-(newlen-res.size()),每次更新a和res。

string deletedigits(string &a, int k) 

}res.push_back(min);

a=a.substr(pos+1,a.size()-1);

}while(res[0]=='0')

res=res.substr(1,res.size());//去除最後前面多餘的0,有的不止乙個。

return res;

}

lintcode 182 刪除數字

給出乙個字串 a,表示乙個 n 位正整數,刪除其中 k 位數字,使得剩餘的數字仍然按照原來的順序排列產生乙個新的正整數。找到刪除 k 個數字之後的最小正整數。n 240,k n 樣例給出乙個字串代表的正整數 a 和乙個整數 k,其中 a 178542,k 4 返回乙個字串 12 標籤思路 使用回溯和...

三次過 Lintcode 182 刪除數字

給出乙個字串 a,表示乙個 n 位正整數,刪除其中 k 位數字,使得剩餘的數字仍然按照原來的順序排列產生乙個新的正整數。找到刪除 k 個數字之後的最小正整數。n 240,k n 給出乙個字串代表的正整數 a 和乙個整數 k,其中a 178542,k 4 返回乙個字串 12 注意刪除數字的思路,一開始...

LintCode 刪除數字

題目 給出乙個字串 a,表示乙個 n 位正整數,刪除其中 k 位數字,使得剩餘的數字仍然按照原來的順序排列產生乙個新的正整數。找到刪除 k 個數字之後的最小正整數。n 240,k n 樣例 給出乙個字串代表的正整數 a 和乙個整數 k,其中 a 178542,k 4 返回乙個字串 12 思路 為了得...