刪數問題(簡單的貪心演算法)

2021-06-13 22:02:03 字數 336 閱讀 7144

題目描述:

給定乙個n位正整數a,去掉其中任意k (k<=n)個數字後,剩下的數字按原次序排列組成乙個新的正整數,對於給定的n位正整數a和正整數k,找出剩下數字組成的新數最小的刪數方案。例如,給定的n位正整數為a為276841,k為4,則刪數後最小的新數為21。

思路:從高位到低位搜尋,若出現遞增情況(此為簡單情況)則直接輸出前幾位;否則刪去遞減開始的首字元,然後重新搜尋。注意考慮兩連續字元相等情況,在具體實現時無影響(可自己修改下面**驗證),但要考慮周全。

#include#includeusing namespace std;

int main()

}} for(i=0;i

貪心演算法 刪數問題

刪數問題 給定乙個n位正整數a,刪掉其中任意k k n 個位,剩下的為按原順序形成乙個新的正整數。找出剩下的數字最小的刪樹方案。輸入 a 0,n位,0 輸出 最小的剩下的數。貪心策略 最近下降點優先。自左向右逐位掃瞄數字a,找到第i位,使得a i a i 1 那麼刪掉第i位後,剩下的是當前數字刪掉1...

python貪心演算法求刪數問題 貪心演算法 刪數問題

給定n位正整數a,去掉其中任意k n 個數字後,剩下的數字按原次序排列組成乙個新 的正整數。對於給定的n位正整數a和正整數 k,設計乙個演算法找出剩下數字組成的新數最 小的刪數方案。輸入格式 第 1 行是1 個正整數 a。第 2 行是正整數k。輸出格式 輸出最小數。輸入樣例 在這裡給出一組輸入。例如...

python貪心演算法求刪數問題 貪心演算法 刪數問題

給定n位正整數a,去掉其中任意k n 個數字後,剩下的數字按原次序排列組成乙個新的正整數。對於給定的n位正整數a 和正整數k,設計乙個演算法找出剩下數字組成的新數最小的刪數方案。演算法的原理應該是說從最高位開始,一次向低位搜尋,一旦遇到前一位 高位 的數大於當前位,則刪去前一位,直到刪除k個數,如果...