问题链接:https://leetcode.com/problems/combination-sum-iv/description/
这是我的 C++ 代码:
class Solution {
public:
int combinationSum4(vector<int>& nums, int target) {
vector<int> dp(target + 1, 0);
dp[0] = 1;
for (int i = 1; i <= target; ++i){
for (int num : nums) {
if (i >= num) {
dp[i] += dp[i - num];
}
}
}
return dp[target];
}
};
错误: 第 9 行:字符 27:运行时错误:有符号整数溢出:2147483647 + 1 无法用类型“value_type”(又名“int”)表示(solution.cpp) 摘要:UndefinedBehaviorSanitizer:未定义行为解决方案.cpp:9:27
但是当我尝试在本地运行时,效果很好。
有人可以帮助我吗?谢谢洛特!!!!
如果你检查一下约束条件,你就会得到解决方案。
std::vector<int64_t> dp(target + 1, 0);