当前位置: 首页 > news >正文

力扣(LeetCode)357

题目地址:
https://leetcode-cn.com/probl...
题目描述:
给定一个非负整数 n,计算各位数字都不同的数字 x 的个数,其中 0 ≤ x < 10的n次方 。

示例:

输入: 2
输出: 91
解释: 答案应为除去 11,22,33,44,55,66,77,88,99 外,在 [0,100) 区间内的所有数字。即这个数最多n位。

解答:
这一题就是利用回溯法求组合数,从(0,1,2,3,4,5,6,7,8,9)这个集合中求c(k,1)+...+c(k,k),k>=1,k<=n。求组合的代码很好写,需要注意的是第1为不能为0,所以不能从第1位开始调用,而是要从第2位开始(下面的backtrack(1,k,flag);这里的1就是第二位,因为从0开始算位数)。
java ac代码:

class Solution {
    int ans;
    public int countNumbersWithUniqueDigits(int n) {
        boolean[]flag = new boolean[10];
        for(int k = 1;k <= n;k++)
            for(int j = 1; j <= 9;j++){
                flag[j] = true;
                backtrack(1,k,flag);
                flag[j] = false;
            }
        return ans+1;
    }
    
    void backtrack(int i,int n,boolean[]flag)
    {
        if(i == n)
        {   
         ans++;
         return;
        }
        
        for(int j = 0;j <= 9;j++)
            if(!flag[j])
            {
                flag[j] = true;
                backtrack(i+1,n,flag);
                flag[j] = false;
            }
    }
}

相关文章:

  • 来,膜拜下android roadmap,强大的执行力
  • JS · \r\n被转义导致出错
  • [译] 每天一段 Spring 5 官方文档(5.1.4.RELEASE)—— Spring Framework Overview 10
  • P3398 仓鼠找sugar (一道LCA的裸题)
  • 创建一个 Django 项目
  • GitHub如何下载clone指定的tag
  • 技术面试感觉什么都会,面试官一问回答不上来怎么办?
  • 性能测试总结(二)---测试流程篇(转载)
  • servlet,javabean,客户端跳转和服务端跳转。
  • 启动从Windows Server 2016发布的应用程序时,黑屏在应用程序可见之前出现几秒钟...
  • 如何自己制作iconfont
  • URL与URI的不同
  • Dubbo 安装监控中心
  • 实习面试笔记
  • spring-boot List转Page
  • [微信小程序] 使用ES6特性Class后出现编译异常
  • CentOS从零开始部署Nodejs项目
  • CSS实用技巧
  • Eureka 2.0 开源流产,真的对你影响很大吗?
  • Git学习与使用心得(1)—— 初始化
  • input实现文字超出省略号功能
  • JavaScript服务器推送技术之 WebSocket
  • Material Design
  • nginx 负载服务器优化
  • python_bomb----数据类型总结
  • Redis学习笔记 - pipline(流水线、管道)
  • VirtualBox 安装过程中出现 Running VMs found 错误的解决过程
  • 海量大数据大屏分析展示一步到位:DataWorks数据服务+MaxCompute Lightning对接DataV最佳实践...
  • 如何抓住下一波零售风口?看RPA玩转零售自动化
  • shell使用lftp连接ftp和sftp,并可以指定私钥
  • Spring Batch JSON 支持
  • 国内唯一,阿里云入选全球区块链云服务报告,领先AWS、Google ...
  • ​Linux·i2c驱动架构​
  • $HTTP_POST_VARS['']和$_POST['']的区别
  • (3)(3.2) MAVLink2数据包签名(安全)
  • (MIT博士)林达华老师-概率模型与计算机视觉”
  • (Redis使用系列) Springboot 实现Redis消息的订阅与分布 四
  • (八)Flask之app.route装饰器函数的参数
  • (待修改)PyG安装步骤
  • (附源码)spring boot校园拼车微信小程序 毕业设计 091617
  • (幽默漫画)有个程序员老公,是怎样的体验?
  • (转载)Google Chrome调试JS
  • **Java有哪些悲观锁的实现_乐观锁、悲观锁、Redis分布式锁和Zookeeper分布式锁的实现以及流程原理...
  • .equals()到底是什么意思?
  • .NET 中什么样的类是可使用 await 异步等待的?
  • /使用匿名内部类来复写Handler当中的handlerMessage()方法
  • ?.的用法
  • @RequestBody的使用
  • @ResponseBody
  • @Transactional类内部访问失效原因详解
  • [.net] 如何在mail的加入正文显示图片
  • [ABC294Ex] K-Coloring
  • [AIGC] 如何建立和优化你的工作流?
  • [Android] Android ActivityManager
  • [BUAA软工]第一次博客作业---阅读《构建之法》