hdzattain-题解

排序

http://www.nowcoder.com/questionTerminal/2baf799ea0594abd974d37139de27896

class Solution {
public:
/**
* 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可
* 将给定数组排序
* @param arr int整型vector 待排序的数组
* @return int整型vector
*/
vector<int> MySort(vector<int>& arr) {
// write code here
Sort(arr,0,arr.size()-1);
return arr;
}
int Partition(vector<int> &arr,int low,int high){//合并
int i=low,k=high;
int temp = arr[low];//临时变量存low里的值
while(i<k){
while(i<k&& temp<=arr[k]) --k;//找到第一个小于temp的数字
if(i<k) arr[i++] = arr[k];//把它放在小端,i位置已经记录于temp
while(i<k&&arr[i]<=temp) ++i;//找到左边第一个大于temp的数字
if(i<k) arr[k--] = arr[i];//把他放在大端,k位置前面已经移动
}
arr[i] =temp;//放好temp
return i;
}
void Sort(vector<int> &arr,int low,int high){//拆分
if(low>=high)//base case
return ;
int pos = Partition(arr,low,high);
Sort(arr,low,pos-1);//左
Sort(arr, pos+1, high);//右
}
};
//一段用于加速的代码
static const auto io_sync_off = //这边不能加;分号,这是一个lambda函数
{
std::ios::sync_with_stdio(false);//关掉输入输出同步,解除流缓冲区,这时不能混用printf,scanf,cin,cout
std::cin.tie(nullptr);//nullptr是一个字面值常量,可以转换为任意类型的空指针,tie是将两个stream绑定函数,这里用空指针解除cin和cout的绑定,加速io
return nullptr;
}();</int></int></int></int>

全部评论

相关推荐

07-04 21:23
已编辑
东莞城市学院 后端
秋招和春招只收到几个中大厂的笔试,本人比较菜,感觉大厂的笔试太难,算法题不能全部做出来就没过了,但是CVTE和小天才的感觉不是很难,基本上都做出来了,笔试还是挂了。Boss上投了Java后端开发都没有回音,boss上有面试机会都是C#工控软件开发方向的,但是这个方向不太懂,资料又少,面试的表现有点差,现在还是想看看Java这边,面试的时候比较有把握点。想请教一下,这份简历还有什么问题,一直没什么机会,还有什么地方要修改的。
程序员小白条:学历太差,民办和公办,外包还得区分的,这个学历+这个简历,没的办法,除非你有人脉,太难了,这环境,何况你都毕业了,连一段实习都没,肯定没公司会挑选了,没竞争力,开发才招几个人,跟你竞争的可不是二本,三本的人哦,何况你在二本,三本里面也排名不高
投递小天才等公司7个岗位
点赞 评论 收藏
分享
机械打工仔:我来告诉你原因,是因为sobb有在线简历,有些HR为了快会直接先看在线简历,初步感觉不合适就不会找你要详细的了
投了多少份简历才上岸
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务