关注
周五比较放松给你写一下吧,兄弟们想投我们这边请刷我帖子
#include <bits/stdc++.h>
using namespace std;
//直接从前往后跑一遍当前数字能不能改取个最值就行,复杂度10*len(n),
int main() {
int n = 23121;
string s = std::to_string(n);
vector<int> num = {2, 4, 9};
vector<bool> flag(10, 0);
int max_num = 0;
for (auto e : num) {
flag[e] = 1;
max_num = max(max_num, e);
}
int minl = -1;
int pre_num = 0;
//特判一下前导零少位的情况
for (int i = 0; s[i]; i++) {
pre_num = pre_num * 10 + max_num;
if (pre_num < n) {
minl = max(minl, pre_num);
}
}
pre_num = 0;
for (int i = 0; s[i]; i++) {
// 换这一位
int index_num = s[i] - '0';
for (auto e : num) {
if (e < index_num) {
int ans = pre_num * 10 + e; // 后面放最大
for (int j = 1; j < s.size() - i; j++) { // 这里可以预处理个数组去掉
ans = ans * 10 + max_num;
}
minl = max(minl, ans);
}
}
pre_num = pre_num * 10 + index_num;
}
if (minl == -1) minl = -1;// 无解
cout << minl << endl;
return 0;
}
查看原帖
点赞 3
相关推荐
10-17 21:22
中国科学技术大学 网络安全 点赞 评论 收藏
分享
牛客热帖
正在热议
# 25届秋招总结 #
300831次浏览 2662人参与
# 如果不工作真的会快乐吗 #
59242次浏览 517人参与
# 阿里云管培生offer #
17328次浏览 294人参与
# 地方国企笔面经互助 #
3800次浏览 10人参与
# 美团求职进展汇总 #
1327307次浏览 12449人参与
# 选完offer后,你后悔学本专业吗 #
19934次浏览 144人参与
# 北方华创开奖 #
26543次浏览 286人参与
# 正在实习的你,几点下班 #
51891次浏览 389人参与
# 国央企薪资爆料 #
8339次浏览 68人参与
# 如何一边实习一边秋招 #
992109次浏览 12638人参与
# 提前批简历挂麻了怎么办 #
146425次浏览 1948人参与
# 学历or实习经历,哪个更重要 #
51038次浏览 402人参与
# 海康威视求职进展汇总 #
398813次浏览 3406人参与
# 米哈游求职进展汇总 #
175906次浏览 1458人参与
# 求职遇到的搞笑事件 #
70792次浏览 577人参与
# 投递实习岗位前的准备 #
1179262次浏览 18395人参与
# 面试体验感最好的是哪家? #
85080次浏览 845人参与
# 实习生应该准时下班吗 #
167411次浏览 1159人参与
# 得物求职进展汇总 #
66238次浏览 682人参与
# 网申一定要掌握的小技巧 #
5326次浏览 53人参与
# 招聘要求与实际实习内容不符怎么办 #
10268次浏览 273人参与
# 0offer是寒冬太冷还是我太菜 #
898255次浏览 8012人参与