Yep, should be
boolean[] result = new boolean[Math.max(array)];
boolean[] result = new boolean[Math.max(array)];
Consider sorting an array of 2 large integers {65000,30000}. To sort this array, the result array will be initialized with 65000 elements. Very inefficient.
You should look into bucketsort. That allows you to sort in finite universes in Theta(n+k) without allocating huge arrays for large integers.