From a given input array, for each element, find next higher element present in each array. For example `{40,50,11,32,55,68,75}` output should be `{50,55,32,55,68,75,-1}`. For element if no higher element is present, print -1. 

Complexity should be less than `O(n^2)`. You can use data structures and no constraint on space complexity.