刪除字元問題(貪心)

2021-09-06 05:50:16 字數 790 閱讀 1501

1/*2

鍵盤輸入乙個高精度的正整數n(<=240位),去掉任意s個數字後剩下的數字按原左右次序將組成乙個新的正整數。

3程式設計對給定的n和s,尋找一種方案,使得剩下的數最小。

4****** input

517854364

7****** output813

9*/10 #include 11 #include

12using

namespace

std;

13string

s;14

intnum;

15void

fun()

1629

else

30 i++;//

不能放在for內,因為 31}

32 cout3435

intmain()

3643

return0;

44}45//

注意:每次刪除最大的數字是不對的,該題的貪心策略是刪除乙個數字後剩下的數是刪除其他數字中最小的,

46//

如:178456129 3,正確結果是145129,錯誤結果是145612

剛才同學說:申請乙個棧從左往右掃瞄,如果新入棧元素小於棧頂元素則彈棧並計數cnt(刪除的字元個數),如果最後cnt

貪心演算法 刪除問題

1 問題描述 給定 n 位正整數 a,去掉其中任意 k n 個數字後,剩下的數字按原來次序排列組成乙個正整數。對於給定的 n 為正整數 a 和正整數 k 設計乙個演算法找出剩下數字組成的新數最小的刪數方案 2 演算法設計 對於給定的正整數 a,計算刪去 k 個數字後得到的最小數 3 演算法思想 刪掉...

字串刪除問題

去trend筆試也是這個題目。不過比這個簡單。不過這個題目以前看過了,沒仔細看,筆試的時候自己把之給想出來了。輸入兩個字串,從第一字串中刪除第二個字串中所有的字元。例如,輸入 they are students.和 aeiou 則刪除之後的第乙個字串變成 thy r stdnts.乙個字串中刪除。但...

硬幣問題(貪心)

有1元,5元,10元,50元,100元,500元的硬幣各a1,a5,a10,a50,a100,a500枚,現在要用這些硬幣支付money元,最少需要支付多少硬幣?假定本題至少一種支付方案。分析 要使數量最少,所以要先從面值大的開始選擇,依次往下類推,即可得到最佳答案。優先選擇面值大的。include...