百度历年笔试面试 150 题
1、用 C 语言实现一个 revert 函数,它的功能是将输入的字符串在原串上倒序后返回。
2、用 C 语言实现函数 void * memmove(void *dest, const void *src, size_t n)。
memmove
函数的功能是拷贝 src 所指的内存内容前 n 个字节到 dest 所指的地址上。
分析:由于可以把任何类型的指针赋给 void 类型的指针,这个函数主要是实现各种数据
类型的拷贝。
3、有一根 27 厘米的细木杆,在第 3 厘米、7 厘米、11 厘米、17 厘米、23 厘米这五个位
置上各有一只蚂蚁。
木杆很细,不能同时通过一只蚂蚁。开始时,蚂蚁的头朝左还是朝右是任意的,它们只会
朝前走或调头,但不会后退。
当任意两只蚂蚁碰头时,两只蚂蚁会同时调头朝反方向走。假设蚂蚁们每秒钟可以走一厘
米的距离。
编写程序,求所有蚂蚁都离开木杆的最小时间和最大时间。
4、给定一个存放整数的数组,重新排列数组使得数组左边为奇数,右边为偶数。
要求:空间复杂度 O(1),时间复杂度为 O(n)。
5、在一维坐标轴上有 n 个区间段,求重合区间最长的两个区间段。