class Solution {
public:
int change(int amount, vector<int>& coins) {
vector<unsigned int > dp(amount+1, 0);
dp[0]=1;
for (int value: coins){
for (int i=value; i<amount+1; ++i){
dp[i]+=dp[i-value];
}
}
return dp[amount];
}
};
this code works fine and runs on all the test cases
but .. this does not (only difference is the use of int instead of unsigned int)
class Solution {
public:
int change(int amount, vector<int>& coins) {
vector<int > dp(amount+1, 0);
dp[0]=1;
for (int value: coins){
for (int i=value; i<amount+1; ++i){
dp[i]+=dp[i-value];
}
}
return dp[amount];
}
};
error- Line 8: Char 22: runtime error: signed integer overflow: 27131803 + 2123074792 cannot be represented in type 'value_type' (aka 'int') (solution.cpp) SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior prog_joined.cpp:17:22