- Difficulty: Medium
- Tags: LeetCode, Medium, Math, Enumeration, leetcode-1999, Backtracking, O(1), 🔒, Bit Manipulation
Problem
Given three integers, k, digit1, and digit2, you want to find the smallest integer that is:
- Larger than
k, - A multiple of
k, and - Comprised of only the digits
digit1and/ordigit2.
Return the smallest such integer. If no such integer exists or the integer exceeds the limit of a signed 32-bit integer (231 - 1), return -1.
Â
Example 1:
Input: k = 2, digit1 = 0, digit2 = 2 Output: 20 Explanation: 20 is the first integer larger than 2, a multiple of 2, and comprised of only the digits 0 and/or 2.
Example 2:
Input: k = 3, digit1 = 4, digit2 = 2 Output: 24 Explanation: 24 is the first integer larger than 3, a multiple of 3, and comprised of only the digits 4 and/or 2.
Example 3:
Input: k = 2, digit1 = 0, digit2 = 0 Output: -1 Explanation: No integer meets the requirements so return -1.
Â
Constraints:
1 <= k <= 10000 <= digit1 <= 90 <= digit2 <= 9