322.c 766 B

12345678910111213141516171819202122232425262728293031323334353637383940
  1. //
  2. // Created by 李洋 on 2024/3/26.
  3. //
  4. #include <stdlib.h>
  5. #include <string.h>
  6. #include <stdio.h>
  7. int min(int a, int b)
  8. {
  9. return a > b ? b : a;
  10. }
  11. int coinChange(int *coins, int coinsSize, int amount)
  12. {
  13. int *dp = (int *)calloc((amount + 1), sizeof(int));
  14. for (int i = 0; i <= amount; i++)
  15. {
  16. dp[i] = amount + 1;
  17. }
  18. dp[0] = 0;
  19. for (int i = 1; i <= amount; ++i)
  20. {
  21. for (int j = 0; j < coinsSize; ++j)
  22. {
  23. if (coins[j] <= i)
  24. {
  25. dp[i] = min(dp[i], dp[i - coins[j]] + 1);
  26. }
  27. }
  28. }
  29. return dp[amount] > amount ? -1 : dp[amount];
  30. }
  31. void run()
  32. {
  33. int a1[3] = {1, 2, 5};
  34. int a2[4] = {3, 7, 405, 436};
  35. int a3[1] = {2};
  36. coinChange(a3, 1, 3);
  37. }
备用站点 当前处于降级运行的备用站点,仅供应急访问,数据和功能可能不是最新。