• 牛客网-保留最大的数


    题目描述

    给定一个十进制的正整数number,选择从里面去掉一部分数字,希望保留下来的数字组成的正整数最大。

    输入描述:

    输入为两行内容,第一行是正整数number,1 ≤ length(number) ≤ 1000。第二行是希望去掉的数字数量cnt 1 ≤ cnt < length(number)。

    输出描述:

    输出保留下来的结果。
    示例1

    输入

    325
    1
    

    输出

    35
     1 #include<string>
     2 #include<iostream>
     3 using namespace std;
     4 int main(){
     5     string s;
     6     int len,i;
     7     while(cin>>s>>len){
     8         i=1;
     9         while(len--){
    10             int slen=s.length();
    11             for(i--;i<slen-1;i++)
    12                 if(s[i]<s[i+1]){   //比较两个数,如果前面的小于后面的,则把前面的数删除
    13                     s.erase(s.begin()+i); //删除以后指针指向删除的当前元素下一个位置,所以有了for循环里面的i--
    14                     break;
    15                 }
    16             if(i==slen-1) s.erase(s.end()-1);//说明最后一个数为最小的数字,把最后一个数字去掉
    17         }
    18         cout<<s<<endl;
    19     }
    20 }
  • 相关阅读:
    开源程序postGIS为postgresql提供存储空间地理数据的支持
    oracle官方文档
    postgresql转换符
    【转】oracle的Interval类型详解
    [转]千万不要把灯泡放进嘴里
    服务器运维指令
    莫名其妙的时区问题
    Linux内存思想
    oracle提高查询效率24法
    哈佛大学图书馆凌晨4点的景象
  • 原文地址:https://www.cnblogs.com/rgly/p/7412425.html
Copyright © 2020-2023  润新知