LintCode 刪除數字

2021-07-29 07:46:03 字數 697 閱讀 5812

題目

給出乙個字串 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 注意刪除數字的思路,一開始...