Вы можете достичь за O (n) времени, создав другую структуру данных, например карту.
Пример:
int a [] = {1,4,1,5,2,2,4,3,4,1};
Map<Integer, Integer> map = new HashMap<Integer, Integer>();
for(int i = 0; i < a.length ; i++)
{
if(map.containsKey(a[i]))
{
map.put(a[i], map.get(a[i])+1);
}
else
{
map.put(a[i], 1);
}
}
System.out.print(map);
Результат: {1 = 3, 2 = 2, 3 = 1, 4 = 3, 5 = 1}