互联网大公司面试笔试题开发

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

思路:利用栈的思想每次遇到“..”时,将退栈至上一个'/' 位置。

1. #include

2. #include

3. #include

4.

5. char * convert_path_opt (const char * path )

6. {

7. char * result = NULL ;

8. int top = 0 ;

9. int path_len = 0 ,

10. index = 0 ,

11. point_cnt = 0 ;

12.

13. / **

14. if (NULL == path )

15. {

16. fprintf (stderr ,“convert_path_opt:invalid argument。\ n”

);

17. 返回NULL ;

18. }

19.

20. / ** <分配内存* /

21. path_len = strlen (path );

22. result = (char *)malloc (path_len * sizeof (char ));

23. if (NULL == 结果)

24. {

25. fprintf (stderr ,“convert_path_opt:无法访问malloc。\

n”);

26. 返回NULL ;

27. }

28.

29. / **

30. while (index < path_len )

31. {

32. / ** <点之前复制字符。* /

33. while (index < path_len && path [ index ] != '。' )

34. {

35. result [ top ++] = path [ index ++];

36. }

37.

38. / ** <反点。* /

39. for (point_cnt = 0 ;

40. index < path_len && path [ index ] == '。' ;

41. ++ point_cnt ,++ index );

42.

43. if (point_cnt == 2 )

44. {

45. - 顶部;

46. while (- top > 0 && result [ top ] != '/' );

47. ++ 顶部;

48. }

49.

50. ++ index ;

51. }

52.

53. 结果[ top ] = '\ 0' ;

54.

55. 返回结果;

56.}

57.

58.int main ()

59.{

60. char * path = “/ home / news /。/。/ tmp / game /../”;

61. char * result = NULL ;

62.

63. result = convert_path_opt (path );

64. printf (“\ nResult is%s。\ n”,result );

65.

66. 返回0 ;

67.}

1.

1. 2. 比较两个字符串的不同,返回不同点的位置(相对第二字符串而言)

1.

2.

1. #include

3.

4. char * compare_strings (const char * plhs ,

5. const char * prhs )

6. {

7. int lhs_index = 0 ,

8. rhs_index = 0 ;

9.

10. / ** <检查参数。* /

11. if (NULL == plhs || NULL == prhs )

12. {

13. fprintf (stderr ,“copmare_strings:invalid argument。\

n”);

14. 返回NULL ;

15. }

16.

17. / ** <比较* /

18. 而(plhs [ lhs_index ] != '\ 0'

19. && prhs [ rhs_index ] != '\ 0' )

20. {

21. if (plhs [ lhs_index ] != prhs [ rhs_index ] )

22. 打破;

23. ++ lhs_index ;

24. ++ rhs_index ;

25. }

26.

27. return prhs + rhs_index ;

28.}

29.

30.int main ()

31.{

32. char * plhs = “你好,世界。”;

33. char * prhs = “你好,世界。”;

34. char * pdiff = NULL ;

35.

36. pdiff = compare_strings (plhs ,prhs );

37. printf (“\ nDifference is%s。\ n”,pdiff );

38.

39. 返回0 ;

40.}

41.

1.

42.3. 给定一个100 亿的整数文件,输出前100 个最小值。

43.

44.

45.

46.思路:大数据+ top k 问题。

47.

48.

1. #include

49.#include

50.#include

51.

52./ **

53.struct max_heap

54.{

相关文档
最新文档