去哪儿网校园招聘笔试试题算法题汇总

上传人:公**** 文档编号:431487808 上传时间:2022-10-13 格式:DOC 页数:4 大小:59KB
返回 下载 相关 举报
去哪儿网校园招聘笔试试题算法题汇总_第1页
第1页 / 共4页
去哪儿网校园招聘笔试试题算法题汇总_第2页
第2页 / 共4页
去哪儿网校园招聘笔试试题算法题汇总_第3页
第3页 / 共4页
去哪儿网校园招聘笔试试题算法题汇总_第4页
第4页 / 共4页
亲,该文档总共4页,全部预览完了,如果喜欢就下载吧!
资源描述

《去哪儿网校园招聘笔试试题算法题汇总》由会员分享,可在线阅读,更多相关《去哪儿网校园招聘笔试试题算法题汇总(4页珍藏版)》请在金锄头文库上搜索。

1、去哪儿网2014笔试算法题汇总 1.写一个函数,转换相对路径为绝对路径,比如:/home/abs/./temp/new/./,输出路径为:/home/temp。参考代码:1. /写一个函数,转换相对路径为绝对路径,比如:/home/abs/./temp/new/./,输出路径为:/home/temp。 2. intRP2AP(constchar*pInStr,char*pOutStr)3. 4. if(pInStr=NULL|pOutStr=NULL)return0;5. 6. stringstr=pInStr;7. stringstrTemp;8. vectorvec_str;9. stri

2、ngstrOut=;10. 11. intnPos1;12. intnPos2;13. 14. nPos1=str.find(/,0);15. if(nPos1nPos1)24. 25. strTemp=str.substr(nPos1,nPos2-nPos1);26. /如果不是/.,就放入vector里 27. if(strTemp!=/.)28. vec_str.push_back(strTemp);29. else/弹出上一个 30. 31. vec_str.reserve(vec_str.size();32. vec_str.pop_back();33. vec_str.reserv

3、e(vec_str.size();34. 35. nPos1=nPos2;36. 37. else38. 39. break;40. 41. 42. 43. /循环赋值累加 44. for(inti=0;ivec_str.size();i+)45. 46. strOut+=vec_stri;47. 48. 49. /这里用strOut.c_str(),要安全一些,有的环境不这样写编译都不过。 50. memcpy(pOutStr,strOut.c_str(),strOut.size();51. 52. return1;53. 54. 55. intmain()56. 57. intn=10;5

4、8. /chara=/home/abs/./temp/new/./; 59. chara=/home/abs/temp/new/./;60. 61. charb256;62. 63. memset(b,0,256);64. intnRet=RP2AP(a,b);65. 66. if(nRet=1)67. coutbendl;68. 69. system(pause);70. return0;71. /写一个函数,转换相对路径为绝对路径,比如:/home/abs/./temp/new/./,输出路径为:/home/temp。int RP2AP(const char* pInStr, char*

5、pOutStr)if (pInStr=NULL | pOutStr=NULL) return 0;string str = pInStr;string strTemp;vector vec_str;string strOut=;int nPos1;int nPos2;nPos1 = str.find(/, 0);if (nPos1nPos1)strTemp = str.substr(nPos1, nPos2-nPos1);/如果不是/.,就放入vector里if (strTemp!=/.)vec_str.push_back(strTemp);else/弹出上一个vec_str.reserve(

6、vec_str.size();vec_str.pop_back();vec_str.reserve(vec_str.size();nPos1 = nPos2;elsebreak;/循环赋值累加for (int i=0; ivec_str.size(); i+)strOut +=vec_stri;/这里用strOut.c_str(),要安全一些,有的环境不这样写编译都不过。memcpy(pOutStr, strOut.c_str(), strOut.size();return 1;int main() int n = 10; /char a = /home/abs/./temp/new/./;c

7、har a = /home/abs/temp/new/./; char b256;memset(b, 0, 256);int nRet = RP2AP(a, b);if (nRet =1 )cout b endl; system(pause); return 0; 2.一个10*10的矩阵(可以理解为棋盘),随时生成一组数据填入矩阵,任何一个位置的数字除4进行计算,按余数着色,余数为0着色为red,1为blue,2为green,3为black,可以理解为生成4中颜色的棋子放入棋盘,如果存在其中同色五星连珠的情况(规则通五子棋),找出任意一组,输出5个棋子的位置下标值。3.有两个文件contex

8、t.txt和words.conf,请尝试将他们合并成为一段文字,并打印出来。这两个文件内容如下:context.txt“并不是每个人都需要$(qunar)自己的粮食,$(flight.1)每个人都需要做自己穿的$(flight.2),我们说着别人发明的$(hotel),使用别人发明的数学.我们一直在$(tuan)别人的成果。使用人类的已有经验和知识$(travel.1)来进行,是一件$(travel.2)的事情”word.confflight=也不是:衣服qunar=种植hotel=语言tuan=使用travel=发明创造:很了不起4.一个文件里有10万个随机正整数,按照以下规则能组合出一份新

9、的数据:A如果当前数字能被3整除,那么它和文件中所有数字(包括自己)两两相加后生成一组数字替代自己的位置。B如果不能被3整除,则它只需要乘以二,生成一个数字替代自己的位置。例如:3,7,6会组合出6,10,9,14,9,13,12再如:5,12,9,6,2会组合出10,17,24,21,18,14,14,21,18,15,11,11,18,15,12,8,4写一个程序找出并打印出新数据的最小的前200个数字。请考虑优化算法复杂度。5.已知字母序列【d, g, e, c, f, b, o, a】,请实现一个函数针对输入的一组字符串 input = bed, dog, dear, eye,按照字母顺序排序并打印。本例的输出顺序为:dear, dog, eye, bed。6.有一万个北京单身男女向你提交了基本资料,包括:姓名、性别、年龄、星座,写一段程序尝试找出他们最匹配的一对。

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 资格认证/考试 > 自考

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号