4 条题解

  • 4
    @ 2023-7-12 14:46:51
    n = int(input())
    l = list(map(int,input().split()))
    cnt = 0
    for i in range(n):
        flag = True
        cnt+=1
        for j in range(n-1,i,-1):
            if l[j-1]<l[j]:
                l[j-1],l[j] = l[j],l[j-1]
                flag = False
        if flag:
            break
    print(cnt)
    
    • 2
      @ 2022-7-16 16:56:25

      1.从后往前排序 2.没排序算一次

      #include<bits/stdc++.h>
      using namespace std;
      int main()
      {
      	int n,k,c=1,flag=1,p=0;
      	cin>>n;
      	k=n-1;
      	int a[n+1];
      	for(int i=1;i<=n;i++)
      	{
      		cin>>a[i];
      	}
      	while(k!=0)
      	{
      		flag=1;
      		for(int i=n;i>1;i--)
      		{
      			if(a[i-1]<a[i])
      			{
      				swap(a[i],a[i-1]);
      				flag=0;
      				p=1;
      			}
      		}
      		k--;
      		if(flag==1)break;
      		c++;
      	}
      //	for(int i=1;i<=n;i++)
      //		cout<<a[i]<<" ";
      //	if(p==0)cout<<1;
      //	else
      	cout<<c;
      }
      
      
      
      • 0
        @ 2025-4-7 12:00:40

        #include <bits/stdc++.h> using namespace std; const int Maxn=1010; int a[Maxn]; int n,num=0; int main() { cin>>n; for(int i=1;i<=n-1;i++)cin>>a[i]; for(int i=1;i<=n;i++){ bool flag=true; num+=1; for(int j=n-1;j>=i;i--){ if (a[j],a[j+1]){ swap(a[j],a[j+1]); flag=false; } } if(flag==true) break; } cout<<num<<endl; return 0; } 错的

        • 0
          @ 2025-4-7 9:37:33

          #include<bits/stdc++.h> using namespace std; int main() { 666

          }
          
          • 1

          信息

          ID
          753
          时间
          1000ms
          内存
          256MiB
          难度
          6
          标签
          递交数
          1422
          已通过
          435
          上传者