当前位置: 代码迷 >> 综合 >> leetcode377与leetcode518
  详细解决方案

leetcode377与leetcode518

热度:76   发布时间:2024-01-31 09:43:02.0

这两题其实很相似,即第377题去重之后就成了518的答案。查看二者的代码也是及其相似,几乎就是内外循环调换过来了:

这种小而精的问题值得好好琢磨总结。

//leetcode377    
public int combinationSum4(int[] coins, int amount) {int[]dp=new int[amount+1];dp[0]=1;Arrays.sort(coins);for(int x=1;x<=amount;x++){for(int coin:coins){if(x<coin])break;dp[x]+=dp[x-coin];}}return dp[amount];}

 

//leetcode518  
public int change(int amount, int[] coins) {int[] dp = new int[amount + 1];dp[0] = 1;for (int coin : coins) {for (int x = coin; x <= amount; ++x) {dp[x] += dp[x - coin];}}return dp[amount];}

 

  相关解决方案