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

2021-10-13 04:24:23 字數 720 閱讀 9566

給定n位正整數a,去掉其中任意k≤n 個數字後,剩下的數字按原次序排列組成乙個新 的正整數。對於給定的n位正整數a和正整數 k,設計乙個演算法找出剩下數字組成的新數最 小的刪數方案。

輸入格式:

第 1 行是1 個正整數 a。第 2 行是正整數k。

輸出格式:

輸出最小數。

輸入樣例:

在這裡給出一組輸入。例如:

輸出樣例:

在這裡給出相應的輸出。例如:

178543:1<7、遞增通過;7<8、遞增通過;8>5、遞減刪除8;

17543:1<7、遞增通過;7>5、遞減刪除7;

1543:1<5、遞增通過;5>4、遞減刪除5;

143:1<4、遞增通過;4>3、遞減刪除4;

得:13

#include

using namespacestd;intmain()

if(i==n)break;for(i=0;i0;i++)if(b[i])

for(i=n-1;i>=0&&k>0;i--)if(b[i])

b[i]=false;

k--;

}for(i=0;i

cout<

}return 0;

時間複雜度:

while(k>0)迴圈中k變換操作為k--

其內部的for迴圈為o(n)

即演算法時間複雜度為o(n^2)

體會:更加了解了貪心演算法的思想

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

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

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

概念 介紹 貪心演算法是指,在對問題求解時,總是做出在當前看來是最好的選擇。也就是說,不從整體最優上加以考慮,演算法得到的是在某種意義上的區域性最優解。所以說只有證明區域性最優解在全域性最優解序列中,才能通過貪心演算法得到問題的全域性最優解。也就是說選擇的貪心策略必須具備無後效性,即某個狀態以後的過...

刪數問題 貪心演算法 Python

在給定的n個數字的數子串,刪除其中k k按照原次序組成乙個新的正整數。使得剩下的數字組成的新正整數最大。貪心思想,每次從左到右,刪除第乙個小於後者的元素,如果沒有,說明是已經降序排列,就從後面依次刪除。如果是要的是最小值則反之 time 2018 5 22 author yinxing def de...