1 Star 0 Fork 0

唐梓迅/leetcode题解

加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
文件
克隆/下载
.LeetCode 902 861 Bytes
一键复制 编辑 原始数据 按行查看 历史
唐梓迅 提交于 2年前 . 最大为N的数字组合
class Solution {
public:
int atMostNGivenDigitSet(vector<string>& digits, int n) {
string s = to_string(n);
int m = digits.size();
int k = s.size();
vector<vector<int>> dp(k+1,vector<int>(2));
dp[0][1] = 1;
for(int i=1;i<=k;i++)
{
for(int j=0;j<m;j++)
{
if(digits[j][0] == s[i-1])
{
dp[i][1] = dp[i-1][1];
}
else if(digits[j][0] < s[i-1])
{
dp[i][0] += dp[i-1][1];
}
else
{
break;
}
}
if(i>1)
{
dp[i][0] += m+dp[i-1][0]*m;
}
}
return dp[k][0]+dp[k][1];
}
};
Loading...
马建仓 AI 助手
尝试更多
代码解读
代码找茬
代码优化
Java
1
https://gitee.com/Tang-CMer/leetcode-problem-solving.git
git@gitee.com:Tang-CMer/leetcode-problem-solving.git
Tang-CMer
leetcode-problem-solving
leetcode题解
master

搜索帮助