题解 | #最小排列#C++暴力排序解法

最小排列

https://www.nowcoder.com/practice/8e0fdf50f69f42458cb0aa043d9c41d6

#include <ios>
#include <iostream>
#include <vector>
#include <algorithm>

using namespace std;

int main() 
{
    int n=0;
    vector <int> a;
    int i=0;
    int j=0;
    int count=0;
    cin>>n;
    for(i=0;i<n;i++)
    {
        int b=0;
        cin>>b;
        a.push_back(b);
    }
    vector <int> c=a;
    sort(a.begin(),a.end());
    for(i=0;i<n;i++)
    {
        if(a[i]!=c[i])
        {
            count++;
            for(j=i;j<n;j++)
            {
                if(c[j]==a[i])
                {
                    int temp=c[j];
                    c[j]=c[i];
                    c[i]=temp;
                    break;
                }
            }
            break;
        }
    }
    if(count==0)
    {
        int temp=c[n-1];
        c[n-1]=c[n-2];
        c[n-2]=temp;
    }
    for(i=0;i<n;i++)
    {
        cout<<c[i];
        if(i!=n-1)
        {
            cout<<" ";
        }
    }
    return 0;
}

全部评论

相关推荐

抱抱碍事梨a:三点建议,第一点是建议再做一个项目,把自我介绍部分顶了,第二点是中南大学加黑加粗,第三点是建议加v详细交流
点赞 评论 收藏
分享
不愿透露姓名的神秘牛友
03-20 12:02
已编辑
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客企业服务