3908. Valid Digit Number
Description
You are given an integer n and a digit x.
A number is considered valid if:
- It contains at least one occurrence of digit
x, and - It does not start with digit
x.
Return true if n is valid, otherwise return false.
Β
Example 1:
Input: n = 101, x = 0
Output: true
Explanation:
The number contains digit 0 at index 1. It does not start with 0, so it satisfies both conditions. Thus, the answer is trueβββββββ.
Example 2:
Input: n = 232, x = 2
Output: false
Explanation:
The number starts with 2, which violates the condition. Thus, the answer is false.
Example 3:
Input: n = 5, x = 1
Output: false
Explanation:
The number does not contain digit 1. Thus, the answer is false.
Β
Constraints:
0 <= n <= 105βββββββ0 <= x <= 9
Solutions
Solution 1: Simulation
We use a boolean variable \(\textit{hasX}\) to record whether the digit \(x\) appears in \(n\).
We repeatedly take the last digit of \(n\) and compare it with \(x\). If they are equal, we set \(\textit{hasX}\) to \(\texttt{true}\). At the same time, we divide \(n\) by \(10\) to remove the last digit. When \(n\) is less than or equal to \(9\), it means we have checked all the digits. At this point, if \(\textit{hasX}\) is \(\texttt{true}\) and \(n\) is not equal to \(x\), then \(n\) is a valid number and we return \(\texttt{true}\); otherwise, we return \(\texttt{false}\).
The time complexity is \(O(\log n)\), where \(n\) is the input integer. The space complexity is \(O(1)\).
1 2 3 4 5 6 7 | |
1 2 3 4 5 6 7 8 9 10 | |
1 2 3 4 5 6 7 8 9 10 11 | |
1 2 3 4 5 6 7 8 | |
1 2 3 4 5 6 7 8 | |
1 2 3 4 5 6 7 8 9 10 | |