The N-th Ugly Number — Solution & Editorial
Three-pointer DP: the next ugly number is the min of 2·u[i2], 3·u[i3], 5·u[i5]; advance every pointer that produced the min (handles duplicates like 6).
Complexity: O(N)
Watch out: Advance ALL pointers matching the minimum, or 6 = 2·3 appears twice.