zoukankan      html  css  js  c++  java
  • 1045 快速排序 (25 分)

    // 思路就是用一维数组输入的同时将数据存到向量中,然后对其进行排序,下一步再将数组与向量的数字进行一一匹配,匹配到的一样的次数就是主元的数量,不匹配的特殊标记,最后通过小技巧输出行末不得有空格的情况,最后的那个换行不能忘,不然过不了。
    #include <iostream> #include <vector> #include <algorithm> using namespace std; const int maxn = 20; int arr[1 << maxn]; int main() { int n, cnt = 0, max = 0, flag = 0; vector <int> num; cin >> n; for (int i = 0; i < n; i++) { cin >> arr[i]; num.push_back(arr[i]); } sort(num.begin(), num.end()); for (int i = 0; i < n; i++) { if (arr[i] == num[i] && arr[i] > max) cnt++; else num[i] = -1; if (arr[i] > max) max = arr[i]; } cout << cnt << endl; for (int i = 0; i < n; i++) { if (num[i] > 0) { if (flag == 1) cout << ' '; cout << num[i]; flag = 1; } }
    cout << endl;
    return 0; }
  • 相关阅读:
    84最佳买卖股票时机含冷冻期(309)
    83 不同路径 II(63)
    82同路径(62)
    模块与包
    名称空间与作用域
    函数的参数
    函数对象
    函数继续学习中
    python学习day3-上午
    第一个完成程序:通过文件实现注册登录
  • 原文地址:https://www.cnblogs.com/Hk456/p/10759335.html
Copyright © 2011-2022 走看看