您的位置:首页 > 职场人生

有道笔试+面试

2012-11-12 15:53 288 查看
1. 堆删除的复杂度
2. 彩票中奖:共33个红球, 16蓝球, 给出中奖号码红1,3,4,7,12,13和蓝4, 只要至少有4个红球猜中或猜中蓝球,就是中奖, 给出中奖概率:
3. 死锁的条件
4. 二叉搜索树删除根节点, 然后使用其左子树作为根节点,并且要维持二叉搜索树的要求, 给出删除的代码.
5. 将1-9这个9个数分成3组,每组的3个数组成一个三位数,并且这些三位数都是完全平方数, 给出程序代码.
6. 将IP地址转化为整型数.

int func(unsigned i){
unsigned temp = i;
temp = (temp & 0x55555555) + ((temp&0xaaaaaaaa)>>1);
temp = (temp & 0x33333333) + ((temp&0xcccccccc)>>2);
temp = (temp & 0x0f0f0f0f) + ((temp&0xf0f0f0f0)>>4);
temp = (temp & 0xff00ff) + ((temp&0xff00ff00)>>8);
temp = (temp & 0xffff) + ((temp&0xffff0000)>>16);
return temp;
}

面试:
1. 将一个矩阵旋转90度.
2. 在完全二叉树中插入一个节点,仍然保持完全二叉树的性质.

满二叉树的判断.
int CompleteTest(pNode p){
if(p->pLeft == NULL)
return 0; // 如果p没有左子树,显然不是满二叉树
if(p->pRight == NULL)
return 0;// 如果p没有右子树,显然不是满二叉树
if(isLeaf(p->pLeft) && isLeaf(p->pRight)) //如果p的左孩子是叶子节点,并且

右子树也是叶子节点
return 1;
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: