删数

简介: 删数


题目描述

输入

输出

输出一个数表示最小值,输出时忽略数字的前导零。

样例输入1

179566

4

样例输出1

15

样例输入2

903071

3

样例输出2

1

做法1

#include <bits/stdc++.h>
using namespace std;
string remove(const string &s) {
    for (int i = 0; i + 1 < s.size(); ++i) {
        /* 出现逆序 删除更大的字符 */
        if (s[i] > s[i + 1]) return s.substr(0, i) + s.substr(i + 1);
    }
    /* 不存在逆序 删除最后一位 */
    return s.substr(0, s.size() - 1);
}
string strip(const string &s) {
    int i = 0;
    while (i < s.size() && s[i] == '0') ++i;
    /* 只有前导0 */
    if (i == s.size()) return "0";
    return s.substr(i);
}
int main(void) {
    string s;
    int n;
    cin >> s >> n;
    while (n--) s = remove(s);
    cout << strip(s) << endl;
    return 0;
}
相关文章
|
6月前
|
固态存储 内存技术 NoSQL
基础代码NVMe模块的实例helloworld代码
基础代码NVMe模块的实例helloworld代码
|
6月前
|
存储 缓存 固态存储
存储性能软件加速库(SPDK)
存储性能软件加速库(SPDK)
|
6月前
|
开发者
第十二期乘风伯乐奖--寻找百位乘风者伯乐,邀请新博主入驻即可获奖
乘风伯乐奖,面向阿里云开发者社区已入驻乘风者计划的博主(技术/星级/专家),邀请用户入驻乘风者计划即可获得乘风者定制周边等实物奖励。本期面向阿里云开发者社区寻找100位乘风伯乐,邀请人数月度TOP 1 获奖者(大于108人)可获得AirPods2代!
2768 8
|
6月前
|
算法 NoSQL 容器
启发式搜索: A*算法
启发式搜索: A*算法
|
6月前
|
前端开发 虚拟化 内存技术
SPDK vhost target
SPDK vhost target
|
6月前
|
消息中间件 并行计算 Go
skynet设计原理
skynet设计原理
|
6月前
|
固态存储 网络协议 Linux
SPDK NVMe-oF Target
SPDK NVMe-oF Target
SPDK NVMe-oF Target
|
6月前
|
存储 缓存 固态存储
SPDK应用框架
SPDK应用框架
|
6月前
|
存储 RDMA 内存技术
nvmf代码分析
nvmf代码分析
|
6月前
|
存储 网络协议 文件存储
存储硬件与协议
存储硬件与协议