Confusing Number II
The problem
A confusing number is a number that when rotated 180 degrees becomes a different number with each digit valid. We can rotate digits of a number by 180 degrees to form new digits.
-
When 0, 1, 6, 8, and 9 are rotated 180 degrees, they become 0, 1, 9, 8, and 6 respectively.
-
When 2, 3, 4, 5, and 7 are rotated 180 degrees, they become invalid. Note that after rotating a number, we can ignore leading zeros.
-
For example, after rotating 8000, we have 0008 which is considered as just 8. Given an integer n, return the number of confusing numbers in the inclusive range [1, n].
Input: n = 20 Output: 6 Explanation: The confusing numbers are [6,9,10,16,18,19]. 6 converts to 9. 9 converts to 6. 10 converts to 01 which is just 1. 16 converts to 91. 18 converts to 81. 19 converts to 61.
Input: n = 100 Output: 19 Explanation: The confusing numbers are [6,9,10,16,18,19,60,61,66,68,80,81,86,89,90,91,98,99,100]
Input: n = 150
- 1 <= n <= 109
cpp
class Solution {
public:
int confusingNumberII(int n) {
// User code goes here
}
};java
class Solution {
public int confusingNumberII(int n) {
// User code goes here
}
}python
class Solution:
def confusingNumberII(self, n: int) -> int:
# User code goes herejavascript
class Solution {
confusingNumberII(n) {
// User code goes here
}
}csharp
public class Solution
{
public int ConfusingNumberII(int n)
{
// User code goes here
}
}go
func confusingNumberII(n int) int {
}Stuck? Show a way to structure it+
- 01Generate numbers using only rotatable digits.
- 02Avoid leading zeroes and stop beyond n.
- 03Rotate generated digits in reverse order using the mapping.
- 04Count values whose rotation differs from the original.
Reference answer
Then expect these follow-ups
How would you count strobogrammatic rather than confusing numbers?
Tests: definition contrast
How can digit DP handle much larger n?
Tests: digit DP
Free to read · better with Enzo
Practice this out loud with Enzo
Enzo runs it as a mock interview, pushes back with follow-ups, and grades you on the rubric.
Next question