easiest o(1) java solution (one array and loop)
IntuitionApproachComplexity
Time complexity:

Space complexity:
Code
# Intuition
<!-- Describe your first thoughts on how to solve this problem. -->

# Approach
<!-- Describe your approach to solving the problem. -->

# Complexity
- Time complexity:
<!-- Add your time complexity here, e.g. $$O(n)$$ -->

- Space complexity:
<!-- Add your space complexity here, e.g. $$O(n)$$ -->

# Code
```java []
class Solution {
    public int smallestNumber(int n) {
        if (n == 1) return 1;

        int[] arr = new int[]{1, 3, 7, 15, 31, 63, 127, 255, 511, 1023};
        for (int i = 1; i < 10; i++) {
            if (n == arr[i]) return arr[i];
            else if (n > arr[i - 1] && n < arr[i]) return arr[i];
        }

        return -1;
    }
}
```
['Java']