Lintcode——整数排序 II
来源:互联网 发布:矩阵论清华大学出版社 编辑:程序博客网 时间:2024/06/07 15:38
1.题目
给一组整数,按照升序排序。使用归并排序,快速排序,堆排序或者任何其他 O(n log n) 的排序算法。
样例
给出 [3, 2, 1, 4, 5]
, 排序后的结果为 [1, 2, 3, 4, 5]
。
2.思路
sort()函数是nlogn的算法,用此函数可以解决此问题。
3.代码
AC代码:
class Solution {public: /** * @param A an integer array * @return void */ void sortIntegers2(vector<int>& A) { // Write your code here sort(A.begin(),A.end()); }};错误:
class Solution {public: /** * @param A an integer array * @return void */ void sortIntegers2(vector<int>& A) { void quicksort(A,0,A.size()-1); } public int Partition(vector<int>& A,int first,int end) { int i=first,j=end; int pivot=A[first]; while(i<j) { while(i<j&&A[i]<=A[j]) j--; if(i<j) { A[i]=A[j]; i++; } while(i<j&&A[i]<=A[j]) i++; if(i<j) { A[j]=A[i]; j--; } } return i; A[i]=pivot; } public void quicksort(vector<int>& A,int first,int end) { // Write your code here //sort(A.begin(),A.end()); if(first<endďź int mid=Partition(A,first,end); quicksort(A,first,mid-1); quicksort(A,mid+1,end); }};
4.感想
想应用一下学过的快速排序,写了半天却一直过不了。。。。先去写别的题了,回来待思考!!
阅读全文
0 0
- Lintcode——整数排序 II
- 【LintCode】整数排序II
- 整数排序II-lintcode
- LintCode-整数排序 II
- LintCode 整数排序 II
- 整数排序 II -LintCode
- Lintcode——整数排序
- lintcode 463整数排序 lintcode 464整数排序II
- 合并排序数组 II——LintCode
- lintcode 整数排序 II | 归并排序(Java)
- lintcode 整数排序 II | 快速排序(Java)
- LintCode 463.整数排序 II [快速排序基础应用]
- LintCode:整数排序
- LintCode【入门】整数排序
- lintcode-入门-整数排序
- Lintcode 463 整数排序
- LintCode-整数排序
- 整数排序-LintCode
- 【mysql 事件】mysql事件的开启和调用
- [搜索] hdu1043 Eight(8思路)
- Android观察者模式项目中基本用法
- Codeforces 365C Matrix 暴力
- Android 中aidl调用执行线程和同步异步问题
- Lintcode——整数排序 II
- js 前端验证表单输入
- SQL Server数据库的基本操作
- Device Module之Kobject,Ktype,Kset(基于kernel 4.11)
- 架构的理解
- android的Environment类
- Java多线程之this与Thread.currentThread()的区别——java多线程编程核心技术
- 在Android中单独编译linux kernel驱动模块
- 故障-未识别的网络的几种情况