百度笔试题

第一道题:计算根节点到叶子结点的最小路径长度。java

第二道题:计算矩阵A和其转置矩阵的乘积矩阵。ide

第三道题:计算房屋个数,题意没看明白。spa

第一题:.net

[java]  view plain  copy
  在CODE上查看代码片 派生到个人代码片
  1. public class TransposeMult  
  2.  {  
  3.  // METHOD SIGNATURE BEGINS, THIS METHOD IS REQUIRED  
  4.   public static int[][] transposeMultMatrix(int initialValue,int rows,int columns)  
  5.   {  
  6.     // INSERT YOUR CODE HERE  
  7.         int a[][] =new int[rows][columns];  
  8.         int init =initialValue;  
  9.         for(int i=0;i<rows;i++)  
  10.         {  
  11.             for(int j=0;j<columns;j++)  
  12.             {  
  13.                 a[i][j]=init;  
  14.                 init++;  
  15.             }  
  16.         }  
  17.         int[][] b=change(a);  
  18.         int i,j,k,temp;  
  19.         int[][] c= new int[a.length][b[0].length];  
  20.         for(i=0;i<a.length;i++)  
  21.         {  
  22.             for(j=0;j<b[0].length;j++)  
  23.             {  
  24.                 temp=0;  
  25.                 for(k=0;k<a[0].length;k++)  
  26.                 {  
  27.                     temp=temp+a[i][k]*b[k][j];  
  28.                 }  
  29.                 c[i][j]=temp;  
  30.                   
  31.             }  
  32.         }  
  33.      return c;  
  34.   }  
  35.   public static int[][] change(int[][] a)  
  36.   {  
  37.       int[][] b =new int[a[0].length][a.length];  
  38.       for(int i=0;i<b.length;i++)  
  39.       {  
  40.           for(int j=0;j<b[0].length;j++)  
  41.           {  
  42.               b[i][j]=a[j][i];  
  43.           }  
  44.       }  
  45.       return b;  
  46.   }  
  47.  // METHOD SIGNATURE ENDS  
  48. }  
第二题:

[java]  view plain  copy
  在CODE上查看代码片 派生到个人代码片
  1. public class BstMinSum  
  2. {  
  3.   // METHOD SIGNATURE BEGINS, THIS METHOD IS REQUIRED  
  4.   public static int minTreePath(TNode t)  
  5.   {  
  6.     // INSERT YOUR CODE HERE  
  7.       
  8.     if(t!=null&&t.right==null&&t.left==null)  
  9.     {  
  10.         return t.value;  
  11.     }  
  12.     if(t==null)  
  13.         return 1000;  
  14.       TNode left=t.left;  
  15.         TNode right=t.right;  
  16.         if(minTreePath(right)>minTreePath(left))  
  17.             return t.value+minTreePath(left);  
  18.          else   
  19.             return t.value+minTreePath(right);  
  20.       
  21.   }  
  22.   // METHOD SIGNATURE ENDS  
  23. }  
  24. }