第一道題:計算根節點到葉子結點的最小路徑長度。java
第二道題:計算矩陣A和其轉置矩陣的乘積矩陣。ide
第三道題:計算房屋個數,題意沒看明白。spa
第一題:.net
- public class TransposeMult
- {
-
- public static int[][] transposeMultMatrix(int initialValue,int rows,int columns)
- {
-
- 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;
- }
-
- }
第二題:
- public class BstMinSum
- {
-
- public static int minTreePath(TNode t)
- {
-
-
- 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);
-
- }
-
- }
- }