1class Solution {2public:3bool isValid(int n) {4bool check = false;5while (n > 0) {6int k = n % 10;7if (k == 2 || k == 5 || k == 6 || k == 9) check = true;8if (k == 3 || k == 4 || k == 7) return false;9n /= 10;10}11return check;12}13int rotatedDigits(int n) {14vector<int> dp(n + 1, 0);15for (int i = 2; i <= n; i++) {16if (isValid(i)) dp[i]++;17dp[i] += dp[i - 1];18}19return dp[n];20}21};