如123321 保留4个数字最小结果为1221
线性算法:
先在1-3个之间找,记录ri
再到ri+1-4之间找
。。。
View Code
#include<stdio.h>
#include<string.h>
char ss[60009];
int main()
{
while(scanf("%s",ss)!=EOF)
{
int i,len,end,ri=0;
len=strlen(ss);
int add,app=0;
//scanf("%d",&add);
add=6;
ri=-1;
while(add--)
{
int min=99,t;
t=len-add-1;
for(i=ri+1;i<=t;i++)
{
if(add==5&&ss[i]=='0') continue;//除去首位为0的情况
if(min>(ss[i]-'0'))
{
min=(ss[i]-'0');
ri=i;
}
}
printf("%c",ss[ri]);
}
printf("\n");
}
}