十、数位 DP

文章目录

  • 数位动态规划(数位 DP)
    • 233.数字_1_的个数
      • 方法一:暴力 超时
      • 方法二:「按位枚举」「 状态」复用
        • limit 标记是否受到了限制
        • 「 状态」复用
    • 面试题17.06.2出现的次数
    • 600.不含连续1的非负整数
    • 灵茶山艾府 数位 DP 通用模板
    • 357.统计各位数字都不同的数字个数
      • 方法一:排列组合
      • 方法二:数位 dp (记忆化递归)
    • 902.最大为N的数字组合
    • 2376.统计特殊整数
      • mask 表示前面填的数字集合,第 i 位要选的数字不能在 mask 中。
      • isnum,表示 i 前面是否是前导 0,也可理解为前面没有填非 0 数字。
    • 1012.至少有_1_位重复的数字
      • 方法一:组合数学
      • 方法二:数位 DP
    • [100154. 执行操作后的最大分割数量](https://leetcode.cn/problems/maximize-the-number-of-partitions-after-operations/description/)
    • 1397.找到所有好字符串
  • 数位动态规划(数位 DP)
  • 汇总 java
    • 233.数字_1_的个数
    • 600.不含连续1的非负整数
    • [788. 旋转数字](https://leetcode.cn/problems/rotated-digits/)
    • 357.统计各位数字都不同的数字个数
    • 2376.统计特殊整数
    • 1012.至少有_1_位重复的数字
    • 902.最大为N的数字组合
    • 1397.找到所有好字符串
    • [2719. 统计整数数目](https://leetcode.cn/problems/count-of-integers/)
    • 2719. 统计整数数目(题解)
    • 788. 旋转数字(题解)
    • 902. 最大为 N 的数字组合(题解)1990
    • 233. 数字 1 的个数(题解)
    • 面试题 17.06. 2 出现的次数(题解)
    • 600. 不含连续 1 的非负整数(题解)
    • 2376. 统计特殊整数(题解)2120
    • 1012. 至少有 1 位重复的数字(题解)2230
    • 357. 统计各位数字都不同的数字个数
    • 3007. 价值和小于等于 K 的最大数字 2258 做法不止一种
    • 2827. 范围中美丽整数的数目 2324
    • 2999. 统计强大整数的数目 2351
    • 2801. 统计范围内的步进数字数目 2367
    • 1397. 找到所有好字符串 2667
    • 1742. 盒子中小球的最大数量 *非暴力做法 枚举数位和+DP
    • 2843. 统计对称整数的数目 *非暴力做法

数位动态规划(数位 DP)

统计区间 [l, r] 内满足条件数的个数。区间一般很大,暴力求解会超时:

int ans = 0;
for(int i = l; i <= r; i++){
   
    if<

你可能感兴趣的:(算法精选,深度优先,算法,动态规划)