第一道题:计算根节点到叶子结点的最小路径长度。
第二道题:计算矩阵A和其转置矩阵的乘积矩阵。
第三道题:计算房屋个数,题意没看明白。
第一题:
- public class TransposeMult
- {
- // METHOD SIGNATURE BEGINS, THIS METHOD IS REQUIRED
- public static int[][] transposeMultMatrix(int initialValue,int rows,int columns)
- {
- // INSERT YOUR CODE HERE
- int a[][] =new int[rows][columns];
- int init =initialValue;
- for(int i=0;i<rows;i++)
- {
- for(int j=0;j<columns;j++)
- {
- a[i][j]=init;
- init++;
- }
- }
- int[][] b=change(a);
- int i,j,k,temp;
- int[][] c= new int[a.length][b[0].length];
- for(i=0;i<a.length;i++)
- {
- for(j=0;j<b[0].length;j++)
- {
- temp=0;
- for(k=0;k<a[0].length;k++)
- {
- temp=temp+a[i][k]*b[k][j];
- }
- c[i][j]=temp;
- }
- }
- return c;
- }
- public static int[][] change(int[][] a)
- {
- int[][] b =new int[a[0].length][a.length];
- for(int i=0;i<b.length;i++)
- {
- for(int j=0;j<b[0].length;j++)
- {
- b[i][j]=a[j][i];
- }
- }
- return b;
- }
- // METHOD SIGNATURE ENDS
- }
- public class BstMinSum
- {
- // METHOD SIGNATURE BEGINS, THIS METHOD IS REQUIRED
- public static int minTreePath(TNode t)
- {
- // INSERT YOUR CODE HERE
- if(t!=null&&t.right==null&&t.left==null)
- {
- return t.value;
- }
- if(t==null)
- return 1000;
- TNode left=t.left;
- TNode right=t.right;
- if(minTreePath(right)>minTreePath(left))
- return t.value+minTreePath(left);
- else
- return t.value+minTreePath(right);
- }
- // METHOD SIGNATURE ENDS
- }
- }