2014小米校园招聘笔试(10.13北京)
2013-10-13 16:42
453 查看
小米的校招笔试,2小时三道编程题。
Q1:给出一个int数组,通过变换使得左边全为奇数右边全为偶数。
思路:常见题,递归实现。双指针从头尾分边对数组进行扫描,对于“左偶右奇”的情况,交换两数同时指针向中间移动一位。循环上述过程直到指针重合。
Q2:给出一颗有序二叉树,将它转换为有序的双向链表输出。
有序二叉树形如:
10
/ \
6 14
/ \ / \
4 8 12 16
双向链表形如:
4=6=8=10=12=14=16
思路:参考二叉树中序遍历。
Q3:字符串的四则运算。给出一个字符串,包含0~9的数字和+-*/()的运算符,-仅代表减号不代表负数。举例如下:
输入:1+2*(3-4)
输出:-1.
思路:(1) 分析字符串的合法性 (2) 模拟四则运算规则,按照先括号后乘除最后加减的顺序计算,(逆波兰式)
测试用例:
a.空串
b.一般输入, 1+2*(3-4)
c.多层括号嵌套, 1+2*((3-4)+8)
d.非法字符输入,9+A+8
e.非法计算符号,*-20+5
f.括号不匹配,1+2*(3-4)(
g.括号内为空,1+2*()*9
h.除零情况,1+2*6/(3-3)
Q1:给出一个int数组,通过变换使得左边全为奇数右边全为偶数。
思路:常见题,递归实现。双指针从头尾分边对数组进行扫描,对于“左偶右奇”的情况,交换两数同时指针向中间移动一位。循环上述过程直到指针重合。
Q2:给出一颗有序二叉树,将它转换为有序的双向链表输出。
有序二叉树形如:
10
/ \
6 14
/ \ / \
4 8 12 16
双向链表形如:
4=6=8=10=12=14=16
思路:参考二叉树中序遍历。
Q3:字符串的四则运算。给出一个字符串,包含0~9的数字和+-*/()的运算符,-仅代表减号不代表负数。举例如下:
输入:1+2*(3-4)
输出:-1.
思路:(1) 分析字符串的合法性 (2) 模拟四则运算规则,按照先括号后乘除最后加减的顺序计算,(逆波兰式)
测试用例:
a.空串
b.一般输入, 1+2*(3-4)
c.多层括号嵌套, 1+2*((3-4)+8)
d.非法字符输入,9+A+8
e.非法计算符号,*-20+5
f.括号不匹配,1+2*(3-4)(
g.括号内为空,1+2*()*9
h.除零情况,1+2*6/(3-3)
相关文章推荐
- 雷军是谁,他为什么而奋斗?小米上市和雷军的英雄主义
- 知道你们为什么抢不到红米吗?来看看这个
- 阿里巴巴2010校园招聘技术类笔试试题
- 笔试与面试集锦
- 二叉树两个结点的最低公共祖先
- 根据后序和中序遍历重建二叉树
- 根据先序和中序遍历重建二叉树
- 根据先序和中序遍历重建二叉树
- 根据后序和中序遍历重建二叉树
- 二叉树两个结点的最低公共祖先
- 中国版“苹果”,小米将走向国际市场!
- 百度2014校园招聘试题—自然语言处理工程师(武汉站)
- PPS 2013校园招聘 研发类笔试题目(java)
- PPS 2013校园招聘 研发类笔试题目(C++)
- PPS 2013校园招聘 研发类笔试题目(PHP)
- 丰特网络 2013校园招聘 Java笔试面试经历
- 2013年UC校园招聘笔试题
- 热河评判小米2的功过是非?
- 抄小米策略,纽曼你成吗?
- [2014创新工场笔试]求一个正数的开方,不能使用库函数sqrt,精度在0.001以内即可