7 条题解

  • 2
    @ 2023-12-2 20:42:50
    #include <iostream>
    using namespace std;
    int a[10000];
    int main()
    {
        int n , x , max = -1;
        cin >> n;
        for(int i = 1;i <= n;i++)
        {
            cin >> x;
            a[x]++;
            if(x > max)
            {
                max = x;
            }
        }
        for(int i = 0;i <= max;i++)
        {
            cout << a[i] << endl;
        }
        return 0;
    }
    
    • 2
      @ 2023-12-2 20:37:01
      #include <iostream>
      using namespace std;
      int main()
      {
          int n , a[10001] , max = -1, num = 0;
          cin >> n;
          for(int i = 1;i <= n;i++)
          {
              cin >> a[i];
              if(a[i] > max)
              {
                  max = a[i];
              }
          }
          for(int j = 0;j <= max;j++)
          {
              for(int i = 1;i <= n;i++)
              {
                  if(a[i] == j)
                  {
                      num++;
                  }
              }
              cout << num << endl;
              num = 0;
          }
          return 0;
      }
      
      • 1
        @ 2024-6-16 16:37:21
        #include <bits/stdc++.h>
        using namespace std;
        int a[100005];
        int f[10005];//再定义一个存放{0,1,2,...,Fmax}的数组
        int main()
        {
            int n,Fmax = -1;
            cin >> n;
            for(int i = 1;i<=n;i++)
            {
                cin >> a[i];
                if(Fmax <a[i])
                {
                    Fmax = a[i];//更新Fmax的值
                }
            }
            for(int i = 1;i<=Fmax;i++)
            {
                f[i] = i;
            }
            for(int i = 0;i<=Fmax;i++)
            {
                int sum = 0;
                for(int j = 1;j<=n;j++)
                {if(f[i]==a[j])
                    sum += 1;
        
                }
                cout << sum;
                cout << endl;
            }
            return 0;
        
        }
        
      • 0
        @ 2024-6-2 17:09:19
        #include<iostream>
        using namespace std;
        int n,a[10005],maxa=-1,b[10005];
        int main()
        {
            cin >> n;
            for(int i=1;i<=n;i++)
            {
                cin >> a[i];
                if(a[i]>=maxa)
                    maxa=a[i];
            }
            for(int i=0;i<=maxa;i++)
            {
                for(int j=1;j<=n;j++)
                {
                    if(a[j]==i)
                        b[i]++;
                }
            }
            for(int i=0;i<=maxa;i++)
                cout << b[i] << endl;
            return 0;
        }
        
        • 0
          @ 2024-2-3 16:47:21
          #include <iostream>
          using namespace std;
          int a[10050];
          int main()
          {
          	int n;
          	cin >> n;
          	int Fmax=0;
          	for (int i=1;i<=n;i++)
          	{
          		cin >> a[i];
          		Fmax=max(Fmax,a[i]);
          	}
          	for (int i=0;i<=Fmax;i++)
          	{
          		int sum=0;
          		for (int j=1;j<=n;j++)
          		{
          			if (a[j]==i)
          			{
          				sum ++;
          			}
          		}
          		cout << sum << endl;
          	}
          	
          }
          
          • 0
            @ 2023-7-28 21:04:22

            yasuo👀️

            他们都40ms

            我18ms完事

            #include <iostream>
            #include <algorithm>
            int main(){
                int q,a[10005],z[10005]={};std::cin>>q;
                for(int i=0;i<q;i++) std::cin>>a[i];
                std::sort(a,a+q);
                for(int i=0;i<q;i++) z[a[i]]++;
                for(int i=0;i<=a[q-1];i++) std::cout<<z[i]<<"\n";
                return 0;}
            
            • 0
              @ 2023-7-28 19:54:28

              这段代码是一个不完整的实现,它统计了每个数字在数组中出现的次数,并将结果打印输出。然而,它并没有找到最长平台的长度。

              要找到最长平台的长度,您可以根据以下思路进行修改:

              1. 定义两个变量maxLengthcurrentLength,分别用于记录最长平台的长度和当前正在计算的平台的长度。
              2. 遍历数组,从第二个元素开始比较当前元素与前一个元素是否相同。
              3. 如果相同,则将当前长度加1。
              4. 如果不相同,则将当前长度与最大长度比较,并以较大值更新最大长度。然后重置当前长度为1,为下一个平台做准备。
              5. 循环结束后,返回最大长度作为结果。
              #include <iostream>
              #include <vector>
              #include <algorithm>
              using namespace std;
              
              int main() {
                  int n;
                  cin >> n;
                  vector<int> arr(n);
                  for (int i = 0; i < n; i++) {
                      cin >> arr[i];
                  }
                  int maxNum = *max_element(arr.begin(), arr.end());
                  vector<int> count(maxNum + 1, 0);
                  for (int i = 0; i < n; i++) {
                      count[arr[i]]++;
                  }
                  for (int i = 0; i <= maxNum; i++) {
                      cout << count[i] << endl;
                  }
                  return 0;
              }
              
              • 1

              信息

              ID
              199
              时间
              1000ms
              内存
              128MiB
              难度
              3
              标签
              递交数
              130
              已通过
              69
              上传者