pat 1101. Quick Sort (25)
2017-02-17 11:14
399 查看
https://www.patest.cn/contests/pat-a-practise/1101
参考了:
http://www.sigmainfy.com/blog/pat-advanced-1101-quick-sort.html
用了动态规划,记录每个元素左边的最大值,右边的最小值。查看当前元素是否比左边的最大大,比右边的最小小。
参考了:
http://www.sigmainfy.com/blog/pat-advanced-1101-quick-sort.html
用了动态规划,记录每个元素左边的最大值,右边的最小值。查看当前元素是否比左边的最大大,比右边的最小小。
#include <stdio.h> #include <algorithm> #include <climits> int n, a[100001], min[100001], max, pivots[100001], np; int main() { while (scanf("%d", &n) != EOF) { for (int i = 0; i < n; i++) { scanf("%d",&a[i]); } max = a[0]; min = INT_MAX; min[n - 1] = a[n - 1]; for (int i = n-2; i >=0; i--) { min[i] = std::min(min[i+1],a[i]); } np = 0; for (int i = 0; i < n; i++) { if (a[i] < min[i+1] && a[i] >=max) { pivots[np++] = a[i]; } max = std::max(max, a[i]); } std::sort(pivots, pivots + np); printf("%d\n",np); for (int i = 0; i < np; i++) { if(i==0) printf("%d",pivots[i]); else printf(" %d", pivots[i]); } printf("\n"); } return 0; }
相关文章推荐
- PAT_A 1101. Quick Sort (25)
- PAT-A 1101. Quick Sort (25)
- 【PAT】【Advanced Level】1101. Quick Sort (25)
- PAT 1101. Quick Sort (25) 已解决
- pat 1101. Quick Sort (25)
- PAT (Advanced Level) Practise 1101 Quick Sort (25)
- PAT甲题题解-1101. Quick Sort (25)-大水题
- PAT 甲级 1101. Quick Sort (25)
- 【PAT】1101. Quick Sort (25)
- PAT 1101. Quick Sort (25)
- [PAT]1101. Quick Sort (25)
- PAT甲级 1101. Quick Sort (25)
- PAT (Advanced Level) Practise 1101 Quick Sort (25)
- PAT 1101. Quick Sort (25)
- PAT - 甲级 - 1101. Quick Sort (25)(快速排序)
- PAT-PAT (Advanced Level) Practise 1101 Quick Sort (25)【二星级】
- PAT 1101. Quick Sort (25) 枢轴判断
- PAT 1101. Quick Sort (25)
- 【PAT-A】1101. Quick Sort (25)
- 【PAT】1101. Quick Sort