LeetCode 788回転デジタル(回転した桁数)36

788回転デジタル
788回転した数字

タイトル説明は
、私たちは番号に電話し、Xは、各桁は個別に180度回転だ場合、我々はまだ有効とXと別の番号を取得することができ、かなりの数です。これは、各桁が回転しなければならない必要です。

各桁の数であるか、デジタルスチル後に回転した場合、この番号が有効です。0,1、および8は、それ自体の後にまだ回転され、2及び5が互いにに回転させることができる;同様に図6及び図9に示すように、これらは他の図よりも回転数の後、もはや有効であることを除いて。

私たちは今、正の整数Nを持って、かなりの数の数であり、どのくらいの1からN Xに計算していますか?

デイアルゴリズム2019年6月8日36日目LeetCode 788回転した数字

例:

入力: 10
出力: 4
説明:
2、5、6、9:[1]、[10]の量の4つのがあります。
彼らは回転後に同じであるため注1及び10は、かなりの数ではありません。

注意:

  • Nは範囲[1、10000]です。

Java実装

class Solution {
    public int rotatedDigits(int N) {
        int res = 0;
        for (int i = 1; i <= N; i++) {
            if (isGood(i)) {
                res++;
            }
        }
        return res;
    }

    public boolean isGood(int num) {
        boolean flag = false;
        int c;
        while (num != 0) {
            c = num % 10;
            num = num / 10;
            if (c == 3 || c == 4 || c == 7) {
                return false;
            }
            if (c == 2 || c == 5 || c == 6 || c == 9) {
                flag = true;
            }
        }
        return flag;
    }
}

参考資料

おすすめ

転載: www.cnblogs.com/hglibin/p/10990277.html