題目
給出乙個字串 a, 表示乙個 n 位正整數, 刪除其中 k 位數字, 使得剩餘的數字仍然按照原來的順序排列產生乙個新的正整數。
找到刪除 k 個數字之後的最小正整數。
n <= 240, k <= n
樣例
給出乙個字串代表的正整數 a 和乙個整數 k, 其中 a = 178542, k = 4
返回乙個字串 「12」
思路
為了得到更小的數字我們需要把小數字放在前面,那麼我們就要把在當前數字前並且比當前數字大的數刪掉,所以我們從頭開始遍歷,找到比當前數大的就刪除,直到刪除k個數為止。
**
string deletedigits(string a, int k)
back++;
while(*back != x)
a.erase(back);
it = back;}}
while(_k < k)
while(*(a.begin()) == '0')
a.erase(a.begin());
if(a == "")
return
"0";
returna;
}
lintcode 刪除數字
1 class solution 19for int i 0 i a.size i 23 24 vectorvec 25for int i 0 i a.length i 30 dp 0 1 a.substr 0,1 31 for int i 1 i vec.size i 40 cout dp 2 1...
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 注意刪除數字的思路,一開始...