剑指Offer----扩展:选择题(京东)

问题描述一:


设一课完全二叉树共有999个结点,则在该二叉树中的叶节点个数是?

分析:

在二叉树的第i层上至多有2^(n-1)个结点(n>=1);
深度为k的二叉树至多有2^k-1个结点(k>=1).

因为2^9-1 < 999 < 2^10-1,所以,该二叉树总共有10层,前9层总共有2^9-1 = 511个结点,所以最后一层会有999-511 =488个结点,倒数第二层(第九层)会有(2^9 - 488)/2 = 12个结点 ,所以总共会有488+12 = 500个结点。

方法二:


其实完全二叉树有这个性质,最后一个节点/2就得到他的父节点了,而此时的父节点必然是最后一个父节点,也就是说他之后的结点都是叶子节点了所以叶子节点为,999-999/2 = 500.要懂得运用性质,不然题目的完全二叉树是干啥的。

999是总的节点数,999/2是 最后一个非叶子节点,相减就是结果。

问题描述二:


123456789101112...2014除以9的余数是 ?

9的余数等于数的各位加起来的和对9求余,=(1+2+...8+9+1+0+1+1+...+2+0+1+4)mod9
= (1+2+...8+9+10+11+...+2014)mod9 注释:每个数分别mod9
= (1+2+...8+0+..+1+2+...+7)mod9
注释: 1+2+...+8为一个循环,且 (1+2+...+8) mod9=0
=(1+2...+7)mod9
=1

也就是说该数以9为循环周期,2014%9 =7;

问题描述三:


关于主对角线(从左上角到右下角)对称的矩阵为对称矩阵;如果一个矩阵中的各个元素取值为0或1,那么该矩阵为01矩阵,求大小为N*N的01对称矩阵的个数?()

power(2,(n*n+n)/2)

你可能感兴趣的:(剑指Offer)