微软十五道面试题
1、有一个整数数组,请求出两两之差绝对值最小的值, 记住,只要得出最小值即可,不需要求出是哪两个数。
2、写一个函数,检查字符是否是整数,如果是,返回其整数值。
(或者:怎样只用4行代码编写出一个从字符串到长整形的函数?)
3、给出一个函数来输出一个字符串的所有排列。
4、(a)请编写实现malloc()内存分配函数功能一样的代码。
(b)给出一个函数来复制两个字符串A和B。字符串A的后几个字节和字符串B的前几个 字节重叠。
5、怎样编写一个程序,把一个有序整数数组放到二叉树中?
6、怎样从顶部开始逐层打印二叉树结点数据?请编程。
7、怎样把一个链表掉个顺序(也就是反序,注意链表的边界条件并考虑空链表)?
8、请编写能直接实现int atoi(const char * pstr)函数功能的代码。
9、编程实现两个正整数的除法
编程实现两个正整数的除法,当然不能用除法操作符。
// return x/y.
int div(const int x, const int y)
}
10、在排序数组中,找出给定数字的出现次数 比如 [1, 2, 2, 2, 3] 中2的出现次数是3次。
11、平面上N个点,每两个点都确定一条直线,
求出斜率最大的那条直线所通过的两个点(斜率不存在的情况不考虑)。时间效率越高越好。
12、一个整数数列,元素取值可能是0~65535中的任意一个数