问题标题: 酷町堂:4244 最大数字

0
0
已解决
董子墨
董子墨
中级天翼
中级天翼

传送门

WA80代码:

#include<iostream>
#include<cstdio>
#include<algorithm>
#include<cmath>
#include<cstdlib>
#include<queue>
#include<stack>
#include<sstream>
using namespace std;
string a;
int ans,idx;
int main(){
    cin>>a;
    for(int i=0;i<a.size();i++)
        if(a[i]>=ans){
            ans=a[i];
            idx=i;
        }
    for(int i=0;i<=idx;i++)
        if(a[i]!=ans){
            swap(a[i],a[idx]);
            break;
        }
    cout<<a;
    return 0;
}

哪错了?


0
已采纳
汪恺恒
汪恺恒
中级启示者
中级启示者

这题可以说是个模拟题,暴力找出所有交换的可能,模拟交换结果,再找最大值

0
张恩泽
张恩泽
高级天翼
高级天翼

这道题第二个循环你这样判断a[i]可能不是最小的数字,你这样交换就是比最大值小的第一个数字与最大值交换

就像4231,你这样写交换后还是4231

我要回答