删数问题

完整程序:

#include<bits/stdc++.h>
using namespace std;
//删数问题的贪心算法实现
int main(){
string a;//n位数a
int k;
cout<<"请输入数以及要删除的位数"<<endl;
cin>>a>>k;
//如果k≥n,数字被删完了
if(k>=a.size())a.erase();
else while(k>0)
{
//寻找最近下降点
int i;
for(i=0;(i<a.size()-1)&&(a[i]<= a[i+1]);++i);
a.erase(i,1);//删除xi
k--;
}
//删除前导数字0
while(a.size()>1&&a[0]=='0')
a.erase(0,1);
cout<<a<<endl;
}

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章