问题描述:
给定n位正整数a,去掉其中任意k≤n 个数字后,剩下的数字按原次序排列组成一个新的正整数。对于给定的n位正整数a和正整数k,设计一个算法找出剩下数字组成的新数最小的删数方案。
如:把178543删掉4位数,生成最小的数为13
解决办法:贪心算法,每次删数时选择删除非递减序列的最后一个数,注意不是每次删除最大的数
证明过程略
C语言代码如下
#includevoid Delnum(int n,int k,int a[])//这个函数会稍微难理解些 { int i,j,t; for(t=1;t<=k;t++)//表示要删k次数 { for(j=0;a[j]<=a[j+1]&&j 运行结果如下



