摘要:
给定一个正整数 n ,请你统计在 [0, n] 范围的非负整数中,有多少个整数的二进制表示中不存在连续的 1 。 ####1. 数位dp ``` class Solution { public: int findIntegers(int n) { int m= __lg(n); //转字符串逐位递归 阅读全文
摘要:
给定一个整数 n,计算所有小于等于 n 的非负整数中数字 1 出现的个数。 ####一. 数位dp ``` class Solution { public: int countDigitOne(int n) { auto s = to_string(n); //转字符串逐位递归分析 int m = 阅读全文
摘要:
给定正整数 n,返回在 [1, n] 范围内具有 至少 1 位 重复数字的正整数的个数。 ####一. 数位dp + 逆向思维 首先将问题转化为不含重复数字的个数 定义f(i,mask,islimit,isnum) 表示构造第i位及之后数位的合法方案数 mask 表示前面数的状态,用于判断枚举数是否 阅读全文
摘要:
给你两个数字字符串 num1 和 num2 ,以及两个整数 max_sum 和 min_sum 。如果一个整数 x 满足以下条件,我们称它是一个好整数: * num1 f = [&](int i, int sum, bool is_limit) -> int { if (sum > max_sum) 阅读全文