P2525 Uim的情人节礼物·其之壱(入门,数学)

    技术2025-10-18  17

    题目:

    分析:

    之前leetcode貌似做过,竟然还错的一塌糊涂。

    找上一个,倒着找发现倒着是上升的,然后后的找比上升点小的最近的,换位,然后后面还要倒序。

    找下一个,找下降的。换位,倒序

    代码:

    #include<bits/stdc++.h> using namespace std; int main() { int n; cin>>n; int A[n]; for(int i=0;i<n;i++) cin>>A[i]; for(int i=n-2;i>=0;i--) { if(A[i]>A[i+1]) { int cc=i+1; for(int k=cc;k<n;k++) { if(A[k]<A[i]) { cc=k; } else break; } int t=A[i];A[i]=A[cc];A[cc]=t; int j=0; for(;j<=i;j++) cout<<A[j]<<' '; for(int kk=n-1;kk>i;kk--) cout<<A[kk]<<' '; return 0; } } cout<<"ERROR"; }
    Processed: 0.010, SQL: 9