C++贪心算法之删数问题

来源:互联网 发布:我的世界手机版js枪械 编辑:程序博客网 时间:2024/05/16 04:56

删数问题

题目描述


思路分析


代码实现

#include<iostream>using namespace std;string n; //定义字符串nint s;main(){cin>>n>>s;int len=n.size(); //也可以用n.length()来取字符串n的长度while(s--)for(int i=0;i<len;i++) //枚举if(n[i]>n[i+1]||i==len-1) //删除遇到的第一个递减序列的第一个数字(若整个字符串为非递减序列,则删去末尾的数字){n.erase(i,1); //把当前字符从字符串中删除break; //不可省略,否则字符串会多删字符}while(n[0]=='0'&&n[1]) //去掉前缀0,并至少保留1个数字n.erase(0,1); //删去当前字符串开头的'0'cout<<n; //输出字符串}