Unique Binary Search Trees

Given an integer n, return the number of structurally unique BSTs (binary search trees) which have exactly n nodes of unique values from 1 to n.

Examples
Input: 3
Output: 5
Hints

Unique Binary Search Trees

Given an integer `n`, return the number of structurally unique BSTs (binary search trees) which have exactly `n` nodes of unique values from `1` to `n`.