ALLEGO level
获赞
265
粉丝
10
关注
3
看过 TA
1006
门头沟学院
2024
C++
IP属地:陕西
暂未填写个人简介
私信
关注
2024-08-08 20:44
门头沟学院 C++
单调栈做的,用例都过了,提交0%,不知道哪错了题意:输入一个n位正整数,输入删除的位数m,输入正整数;输出删掉m位后最大的数(相对位置不变);测试用例: 输入: 5 2  19352 输出: 952;解释: 删掉1和3后最大的数是952```cpp#include <bits/stdc++.h>#include <vector>using namespace std;int main() {    int n, m;    cin >> n >> m;    int num;    cin >> num;    vector<int> nums(n);    for (int i = n - 1; i >= 0; i--) {        nums[i] = num % 10;        num = num / 10;    }    stack<int> st;    st.push(nums[0]);    int flag = 0;    for (int i = 1; i < n; i++) {        if (flag < m) {            while (!st.empty() && st.top() < nums[i]) {                st.pop();                flag++;                if (flag == m) break;            }        }        st.push(nums[i]);    }    int ans = 0, cnt = 1;    while(!st.empty()) {        ans = ans + st.top() * cnt;        cnt = cnt * 10;        st.pop();    }    cout << ans << endl;}```
查看2道真题和解析 投递意法半导体等公司6个岗位
0 点赞 评论 收藏
分享

创作者周榜

更多
关注他的用户也关注了:
牛客网
牛客企业服务