zoukankan      html  css  js  c++  java
  • 357. Count Numbers with Unique Digits

    Problem:

    Given a non-negative integer n, count all numbers with unique digits, x, where 0 ≤ x < 10n.

    Example:

    Input: 2
    Output: 91 
    Explanation: The answer should be the total numbers in the range of 0 ≤ x < 100, 
                 excluding 11,22,33,44,55,66,77,88,99
    

    思路

    Solution (C++):

    int countNumbersWithUniqueDigits(int n) {
        int unique_count = 0;
        for (int i = 0; i <= n; ++i) {
            unique_count += no_duplicate(i);
        }
        return unique_count;
    }
    int no_duplicate(int n) {
        if (n == 0)  return 1;
        int count = 9;
        for (int i = 1; i < n; ++i) {
            count *= (10-i);
        }
        return count;
    }
    

    性能

    Runtime: 0 ms  Memory Usage: 6.1 MB

    思路

    Solution (C++):

    
    

    性能

    Runtime: ms  Memory Usage: MB

    相关链接如下:

    知乎:littledy

    欢迎关注个人微信公众号:小邓杂谈,扫描下方二维码即可

    作者:littledy
    本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文链接,否则保留追究法律责任的权利。
  • 相关阅读:
    Hbase表的管理
    Hbase指定规则扫描表
    vim配置
    caogao
    go on shell
    实习总结
    shell 脚本
    hadoop实战
    awk使用
    java reflect
  • 原文地址:https://www.cnblogs.com/dysjtu1995/p/12657221.html
Copyright © 2011-2022 走看看