@@ -27,19 +27,20 @@ public PhotoDnaTree(PhotoDnaItem[] items) {
2727 childs = new int [maxLen ];
2828 Arrays .fill (starts , -1 );
2929
30- split (0 , items .length , len ++);
30+ len = 1 ;
31+ split (0 , items .length , 0 );
3132
3233 rays = Arrays .copyOf (rays , len );
3334 starts = Arrays .copyOf (starts , len );
3435 ends = Arrays .copyOf (ends , len );
3536 childs = Arrays .copyOf (childs , len );
3637 photoDnaArr = new byte [items [0 ].getBytes ().length ][items .length ];
3738 hashId = new int [items .length ];
38- Map <Integer , Integer > posToId = new HashMap <Integer , Integer >();
39+ Map <PhotoDnaItem , Integer > itemToPos = new HashMap <PhotoDnaItem , Integer >();
3940 for (int i = 0 ; i < items .length ; i ++) {
4041 PhotoDnaItem item = items [i ];
41- int id = hashId [i ] = item .getHashId ();
42- posToId .put (id , i );
42+ hashId [i ] = item .getHashId ();
43+ itemToPos .put (item , i );
4344 byte [] b = item .getBytes ();
4445 for (int j = 0 ; j < b .length ; j ++) {
4546 photoDnaArr [j ][i ] = b [j ];
@@ -49,7 +50,7 @@ public PhotoDnaTree(PhotoDnaItem[] items) {
4950 for (int i = 0 ; i < len ; i ++) {
5051 PhotoDnaItem item = centerItems [i ];
5152 if (item != null ) {
52- centers [i ] = posToId .get (item . getHashId () );
53+ centers [i ] = itemToPos .get (item );
5354 }
5455 }
5556 this .items = null ;
0 commit comments