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

Leetcode 3747. Count Distinct Integers After Removing Zeros

  • Leetcode 3747. Count Distinct Integers After Removing Zeros
    • 1. 解题思路
    • 2. 代码实现
  • 题目链接:3747. Count Distinct Integers After Removing Zeros

1. 解题思路

这一题是Leetcode周赛476的第三题,是一道medium的题目。

这一题思路上就是一个动态规划的思路,就是考察比nnn小的所有不带有000的整数的数目,这个我们只需要考察每一位上能够有的选项即可。

不过,这里我们需要注意几个特殊情况:

  • 当前位置之前是否已经至少有一个位置上元素非零;
  • 当前位置之前是否已经至少有一个位置上元素严格小于目标值,即当前位置是否可以随意分配元素。

在这两个情况的基础上,我们使用动态规划进行枚举即可。

2. 代码实现

给出python代码实现如下:

class Solution:def countDistinct(self, n: int) -> int:s = str(n)l = len(s)@lru_cache(None)def dp(idx, allow_bigger, is_zero):if idx >= l:return 1 if not is_zero else 0if allow_bigger:if is_zero:ans = 0for i in range(1, l-idx+1):ans += 9**ireturn anselse:return 9**(l-idx)elif s[idx] == '0':return 0elif is_zero:return dp(idx+1, True, True) + (int(s[idx])-1) * dp(idx+1, True, False) + dp(idx+1, False, False)else:return (int(s[idx])-1) * dp(idx+1, True, False) + dp(idx+1, False, False)return dp(0, False, True)

提交代码评测得到:耗时6ms,占用内存18.12MB。

http://www.dtcms.com/a/618578.html

相关文章:

  • 西安网络建站公司考研培训班哪个机构比较好
  • 第二部分:感知篇——汽车的“眼睛”与“耳朵”(第3章:传感器技术深度解析)
  • 深度解析类和对象(2)
  • 青浦网络公司网站wordpress快速插图
  • 河南城乡与住房建设厅网站网站推广怎么样
  • 基于51单片机的DHT22温湿度检测调节系统
  • 闵行网站制作公司水泵网站站群建设
  • 【昇腾】基于Atlas 200I DK A2开发者套件跑sampleYOLOV7 demo解决有些图片不识别不画框的问题_20251116
  • 【科技素养】蓝桥杯STEMA 科技素养组模拟练习试卷 6
  • 网站可信认证在哪里做如何开一个网站
  • 20.传输层协议TCP
  • Flink Oracle CDC Connector 实战指南
  • 深入浅出Rust编程:Vec 源码解析
  • 山西长治做网站公司有哪些设计软件有哪些手机版
  • java拼图小游戏
  • 【Linux驱动开发】Linux I2C 通信详解:从硬件到驱动再到应用
  • 《Unity优化指南:直击引擎本质的非典型技术路径》
  • 如何修改网站标题济南网站建设凡科
  • 【MySQL | 基础】多表查询
  • 网站建设评比自评情况网站没有收录从哪开始做优化
  • SATA协议深度剖析:从接口到指令集
  • 《嵌入式操作系统》_移植三星原版uboot20251114
  • 云南省和城乡建设厅网站环保空调东莞网站建设
  • 做鞋子网站的域名高端建站设计
  • Android内核进阶之周期更新PCM状态snd_pcm_period_elapsed:用法实例(九十二)
  • 做外汇关注的网站大学生创业做网站的筹资方式
  • HttpServletResponse 与 ResponseEntity 详解
  • 网络安全 | 深入了解OAuth 2.0原理
  • 人人商城网站开发wordpress图片放大镜
  • 2016年软件评测师,web测试案例分析解答