1101. Quick Sort (25)[快排]
来源:互联网 发布:儿童牙刷推荐 知乎 编辑:程序博客网 时间:2024/06/04 01:05
1. 原题:https://www.patest.cn/contests/pat-a-practise/1101
2. 思路:
题意:判断序列中的哪些数可以作为中枢点。排序题。考察快排。
思路:
首先我们要清楚快排中中枢点必然是放在了正确位置上的。
而且要满足前面所有的数都要比它小。
根据这两个条件就可以了。
当然,想不出来的可以试下暴力破解法。
已AC.
思路:
首先我们要清楚快排中中枢点必然是放在了正确位置上的。
而且要满足前面所有的数都要比它小。
根据这两个条件就可以了。
当然,想不出来的可以试下暴力破解法。
已AC.
3. 源码:
#include <iostream>#include <vector>#include <algorithm>using namespace std;int main(void){//freopen("in.txt", "r", stdin);int N;cin >> N;vector<int> origin(N), order(N);//分别存储原始和顺序序列。for (int i = 0; i < N; i++)//读入数据{cin >> origin[i];}order = origin;sort(order.begin(), order.end());int maxNum = 0;int cnt = 0;vector<int> pivot;for (int i = 0; i < N; i++){if (origin[i] > maxNum && origin[i] == order[i])//判断条件{cnt++;pivot.push_back(origin[i]);maxNum = origin[i];}elsemaxNum = max(maxNum, origin[i]);//更新已判断过的最大值。}cout << cnt << endl;sort(pivot.begin(), pivot.end());//输出for (int i = 0; i < pivot.size(); i++){if (i != 0)cout << ' ';cout << pivot[i];}cout << endl;return 0;}
0 0
- 1101. Quick Sort (25)[快排]
- 1101. Quick Sort (25)快排
- 快排(Quick Sort)
- 1101. Quick Sort (25)【快排】——PAT (Advanced Level) Practise
- 快排Quick Sort到底有多快?
- 快排qsort/sort
- HDU1425 <sort 快排>
- STL sort快排
- sort快排
- 1101. Quick Sort (25)
- 1101. Quick Sort (25)
- 1101. Quick Sort (25)
- 1101. Quick Sort (25)
- 1101. Quick Sort (25)
- 1101. Quick Sort (25)
- 1101. Quick Sort (25)
- 1101. Quick Sort (25)
- 1101. Quick Sort (25)
- 注册表操作
- 解析Javascript事件冒泡机制
- oracle试图--v$event_histogram
- mysql_每隔十分钟定时器
- Problem : 平面上的点和线——Point类、Line类 (VII)
- 1101. Quick Sort (25)[快排]
- C++: 类的继承派生
- 微信小程序TLS版本大于1.2
- HAWQ与Hive查询性能对比测试
- ALV中的fieldcat常用字段属性选项大全
- Error fetching https://ruby.taobao.org/:no such name淘宝镜源无效解决
- RadioButton 设置Margin间距
- Linux学习之六(Linux用户、权限、用户管理命令)
- python图像旋转代码