爱奇艺电话面试总结

1 struct ST
{
int data;
......
};
void sort_st(vector<ST>& st_arr)
{
......
}
ST结构体的data成员只有0,1,2三种取值,输入st_arr数组中data是乱序的,要求算法使完成排序,要求时间复杂度O(n),空间复杂度O(1)
如原数组[0,1,2,1,0,2,2,1,1]
-->[0,0,2,2,2,1,1,1,1]
思路1:
(1)设置两变量,i用来指向已确定位置,j用来遍历
(2)遍历第一遍将0放到应该位置,再遍历一遍将2放到应该位置
//遍历第一遍
[0,1,2,1,0,2,2,1,1]        //交换
i        j
[0,0,2,1,1,2,2,1,1]
i         j
//遍历第二遍
[0,0,2,1,1,2,2,1,1]        //交换
i     j
[0,0,2,2,1,1,2,1,1]
i     j
......
思路2:
思路1需要遍历2遍,面试官说可遍历1遍
参考#2GungnirLaevatain

2 百G文件,找出出现次数前十的字符串(海量数据处理)
http://blog.csdn.net/fycy2010/article/details/46945641

再没啥说的了,静下心,多刷刷牛客题吧!
全部评论
感觉是不是可以三个指针i,j,k。i确定头,j进行遍历,k确定尾,遍历中,将j指向的0和i指向的头进行交换,j指向的2和k指向的尾进行交换,当j和k指向同一个时结束,这样一遍遍历就可以了吧
点赞 回复 分享
发布于 2017-02-22 19:02
实习还是校招。
点赞 回复 分享
发布于 2017-02-22 17:47
第二题我也遇到过。
点赞 回复 分享
发布于 2017-02-22 23:35
第一题桶排可行吗
点赞 回复 分享
发布于 2017-02-23 08:14
其他东西还问了什么呢?
点赞 回复 分享
发布于 2017-02-23 08:29

相关推荐

01-18 09:26
已编辑
门头沟学院 Java
王桑的大offer:建议中间件那块写熟悉即可,写掌握 面试包被拷打到昏厥
点赞 评论 收藏
分享
02-11 17:47
已编辑
门头沟学院 Java
神哥不得了:神哥来啦~建议先在网上找一些高频的八股去背,然后再去广泛的背八股,这样的学习会更有效率一些,简历的这两个项目建议换掉,换成两个高质量的项目,这样的话获得面试的比例会更高一点,专业技能的话排版要注意一下,要加句号的话就都加,要不加就都不加,荣誉奖项的话写在教育经历里边吧,这个确实没有太多的含金量
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客企业服务