4 条题解

  • 1
    @ 2023-8-17 21:37:18

    本题坠短AC!!!

    我想说:函数是个好东西

    上代码🚀️

    #include <bits/stdc++.h>
    using namespace std;
    int main()
    {
        int n , a[10000] , k;
        cin >> n >> k;
        for (int i = 0; i < n; i++) cin >> a[i];
        sort(a , a + n);//由小到大排序
        for (int i = n - 1; i >= 0; i--)//由大到小遍历数组
        {
            if (i == n - k) cout << a[i];//总数-k=第k大数的索引(自己抠出来的规律)
        }
        return 0;
    }
    

    AC,放心食用

    • 0
      @ 2023-4-14 22:50:37

      所以为什么给的输出样例是错的()

      #include<bits/stdc++.h>
      using namespace std;
      int n,a[10007],k,x;
      int main()
      {
          cin>>n>>k;
          for (int i=1;i<=n;i++)
              cin>>a[i];
          sort(a+1,a+n+1);
          for (int i=n;i>=1;i--)
          {
              if (a[i]>a[i-1])
                  x++;
              if (x==k)
              {
                  cout<<a[i];
                  break;
              }
          }
          return 0;
      }
      • @ 2023-8-17 21:24:09

        是不是同样的两个数也算上了👀️ 分析了亿下

        #include<bits/stdc++.h>
        using namespace std;
        int n,a[10007],k,x;
        int main()
        {
            cin >> n >> k;//n个数,第k大
            for (int i = 1;i <= n ; i++)
                cin >> a[i];//输入n个数
            sort(a+1 , a+n+1);//由小到大排序
            for (int i = n;i >= 1;i--)
            {
                if (a[i] > a[i-1])//相邻两个数不相同
                    x++;
                if (x == k)//找到第k大的数
                {
                    cout << a[i];
                    break;
                }
            }
            return 0;
        }
        
    • 0
      @ 2023-1-19 14:08:25
      #include<bits/stdc++.h>
      using namespace std;
      int main()
      {
      	//数组大小按照题目的要求定义,最好多定义10个
      	int a[1010], n, i, j, t, k;
      	cin >> n >> k;
      	for(i = 0; i < n; i++){
      		cin >> a[i];
      	} 
      	for(i = 1; i <= n-1; i++){
      		for(j = 0; j <= n-i-1; j++){
      			//按照从大到小排序
      			if(a[j] < a[j+1]) {
      				t = a[j];
      				a[j] = a[j+1];
      				a[j+1] = t;
      			}
      		}
      	}
      	/*
      	第1大的数,下标为0,第2大的数下标为1,第3大的数下标为2
      	第k大的数,下标是K-1 
      	*/
      	cout << a[k-1];
      	return 0;
      }
      
      
      • -3
        @ 2023-2-6 15:35:15

        写题解请注意

        鼓励大家写题解,但注意题解格式。

        题解一定要有思路解析或代码注释,能否让别人理解你的思路

        也是你的能力的检验,不要只放无意义的代码给大家复制,那就失去了做题的初心。

        给代码两端加上这个会舒服一些

        ```cpp

        你的代码

        ```

        </span>

        这个点在键盘的左上角tab上面那个键,注意切换输入法

        #include<iostream>
        using namespace std;
        int main()
        {
            int n;
            cin>>n;//这是一个注释
            return 0;
        }
        

        请注意严禁抄袭题解,写题解不要只放代码,需加上你的思路或代码注释。

        抄袭题解一经发现直接取消成绩。

        题解被删除的可能

        1. 代码不符合格式规范
        2. 没有思路讲解或者没有注释,
        3. 无意义的题解

        大家携手共同维护一个良好的编程环境,如果一经发现,多次作乱。可能会被管理员拉黑,请注意,一旦拉黑即失去登陆资格。

        • 1

        信息

        ID
        172
        时间
        1000ms
        内存
        16MiB
        难度
        1
        标签
        递交数
        103
        已通过
        70
        上传者