int min_coins(int coins[], int t,int n,int dp[])
{
if(n==0){
return 0;
}
if(dp[n]!=0){
return dp[n];
}
int ans = INT_MAX;
for(int i = 0;i<t;i++){
if(n>=coins[i]){
int sub = min_coins(coins,t,n-coins[i],dp);
ans = min(ans,sub+1);
}
}
dp[n] = ans;
return dp[n];
}
The above code gives wrong output on geeks for geeks.
But I have done exactly what is taught.
Please look at it