当前位置:概念范文网>求职简历>笔试题目>

哈尔滨小米笔试经验

笔试题目 阅读(2.48W)

今年小米的笔试共三道大题,时间90分钟

哈尔滨小米笔试经验

第一道 输入一个整数数组,调整数组中数字的顺序,使得所有奇数位于所有偶数的前面,例如输入的数组为{1,2,4,7,9,8,10,15,14,20},调整后的数组 {1,7,9,15,2,4,8,10,14,20}是一种满足条件的方案。函数的头部已经写好,无返回值,有两个参数,一个是数组指针,另一个是该数组的长度。

我的解答思路是使用两个伪指针,一个指向数组的头部,另一个指向数组的尾部,先从前向后扫描,找到第一个偶数,然后在从后向前扫描找到倒数第一个奇数,交换这两个元素,循环上述步骤直到两个指针相遇。

第二道 输入一个二叉排序树,将该二叉排序树转换为排序的双向链表。要求不能创建任何新的节点,只调整指针的指向。(程序员面试100题的第一道题,输入样例一样),函数头部已经写好,无返回值,参数为根节点的指针。

第三道 输入一个数学表达式,包含+、-、*、/、()运算,设计一个算法计算该表达式的值,+、-不作为正负号出现,函数头部已经给出,返回表达式的值,参数为字符串指针,给出了两个函数,一个字符转换成整数的函数,另一个是整数转换成字符的函数,可以直接调用。输入样例 1+2*(3-4)