PAT.1101.QuickSort

  • 初步思路:sort排序数组,看每个元素的下标是否变化
  • 但是可能有下标不变的元素,仍然不能作为主元pivot
  • 因为有可能:7, 8, 9, 5, 1, 3, 2,这里排序后5的位置下标不变,但它不是主元
  • 所以排序后还要借助原数组该位置元素之前的最大值来判断主元
  • 即 大于原数组该位置前的的最大值 + 排序后位置不变
#include <iostream>
#include <vector>
#include <algorithm>
#include <unordered_map>
using namespace std;
int N = 0;
vector<int> nums;
vector<int> ret;
int main()
{
   
    cin >> N;
    nums.resize(N);
    unordered_map<int, int> index;
    for(int i = 0; i < N; ++i)
    {
   
        cin >> nums[i];
        // index[nums[i]] = i;
    }
    vector<int> tmp(nums);
    sort(nums.begin(), nums.end());
    int max = 0;
    for(int i = 0; i < N; ++i)
    {
   
    //     if(i == index[nums[i]])
    //         ret.push_back(nums[i]);
    // 排序后位置不变,且大于原数组该位置前的最大值
        if(nums[i] == tmp[i] && nums[i] > max)
             ret.push_back(nums[i]);
        if(tmp[i] > max) max = tmp[i];
    }
    cout << ret.size() << endl;
    if(ret.size() == 0)
        cout << endl;
    if(ret.size())
        cout << ret[0];
    for(int i = 1; i < ret.size(); ++i)
        cout << " " << ret[i];
    return 0;
} 

相关推荐

  1. PAT.1101.QuickSort

    2023-12-26 09:56:07       30 阅读
  2. 1001 A+B Format - PAT(Advance Level)Practive

    2023-12-26 09:56:07       30 阅读
  3. IOS面试题object-c 101-110

    2023-12-26 09:56:07       16 阅读

最近更新

  1. TCP协议是安全的吗?

    2023-12-26 09:56:07       17 阅读
  2. 阿里云服务器执行yum,一直下载docker-ce-stable失败

    2023-12-26 09:56:07       16 阅读
  3. 【Python教程】压缩PDF文件大小

    2023-12-26 09:56:07       15 阅读
  4. 通过文章id递归查询所有评论(xml)

    2023-12-26 09:56:07       18 阅读

热门阅读

  1. 每日一水:leetcode1576.替换所有的问号

    2023-12-26 09:56:07       38 阅读
  2. Nestjs使用log4j打印日志

    2023-12-26 09:56:07       38 阅读
  3. 附录E SQL入门之SQL保留字

    2023-12-26 09:56:07       40 阅读
  4. Python 查杀进程的方法封装

    2023-12-26 09:56:07       45 阅读
  5. C#的故事

    2023-12-26 09:56:07       27 阅读
  6. 八股文打卡day10——计算机网络(10)

    2023-12-26 09:56:07       29 阅读
  7. linux无法访问共享目录,ls hgfs失败

    2023-12-26 09:56:07       35 阅读
  8. 支付平台在选择服务器租用时要注意什么?

    2023-12-26 09:56:07       38 阅读