Well... yes and no.
I feel it's important to distinguish that the OP-s solution loops over the whole array twice. I know there are times to make a trade-off between performance and readability, but I don't feel this needs to be one of those times :)
We're a place where coders share, stay up-to-date and grow their careers.
We strive for transparency and don't collect excess data.