algorithm-dp-digital
数位dp
数位分解:将一个数按照各个数位进行分解,例如将123分解为1、2、3。数位dp主要涉及到对这些数位的状态进行动态规划,通常,状态表示当前处理到的位置、当前已经得到的数值等信息。
可用于解决如数位上包含特定数字、数字之和等问题。
数位dp模板
2376. 统计特殊整数(2120)
123456789101112131415161718192021222324class Solution { public int countSpecialNumbers(int n) { char cs[] = String.valueOf(n).toCharArray(); int memo[][] = new int[cs.length][1 << 10]; for (int i = 0; i < cs.length; i++) Arrays.fill(memo[i], -1); return dfs(0, 0, true, false, cs, memo); } // ...