File tree 2 files changed +12
-20
lines changed
2 files changed +12
-20
lines changed Original file line number Diff line number Diff line change @@ -869,22 +869,18 @@ return -1.
869
869
870
870
``` java
871
871
public int coinChange(int [] coins, int amount) {
872
- if (amount == 0 || coins == null || coins. length == 0 ) {
872
+ public int change(int amount, int [] coins) {
873
+ if (coins == null ) {
873
874
return 0 ;
874
875
}
875
876
int [] dp = new int [amount + 1 ];
877
+ dp[0 ] = 1 ;
876
878
for (int coin : coins) {
877
- for (int i = coin; i <= amount; i++ ) { // 将逆序遍历改为正序遍历
878
- if (i == coin) {
879
- dp[i] = 1 ;
880
- } else if (dp[i] == 0 && dp[i - coin] != 0 ) {
881
- dp[i] = dp[i - coin] + 1 ;
882
- } else if (dp[i - coin] != 0 ) {
883
- dp[i] = Math . min(dp[i], dp[i - coin] + 1 );
884
- }
879
+ for (int i = coin; i <= amount; i++ ) {
880
+ dp[i] += dp[i - coin];
885
881
}
886
882
}
887
- return dp[amount] == 0 ? - 1 : dp[amount] ;
883
+ return dp[amount];
888
884
}
889
885
```
890
886
Original file line number Diff line number Diff line change @@ -869,22 +869,18 @@ return -1.
869
869
870
870
``` java
871
871
public int coinChange(int [] coins, int amount) {
872
- if (amount == 0 || coins == null || coins. length == 0 ) {
872
+ public int change(int amount, int [] coins) {
873
+ if (coins == null ) {
873
874
return 0 ;
874
875
}
875
876
int [] dp = new int [amount + 1 ];
877
+ dp[0 ] = 1 ;
876
878
for (int coin : coins) {
877
- for (int i = coin; i <= amount; i++ ) { // 将逆序遍历改为正序遍历
878
- if (i == coin) {
879
- dp[i] = 1 ;
880
- } else if (dp[i] == 0 && dp[i - coin] != 0 ) {
881
- dp[i] = dp[i - coin] + 1 ;
882
- } else if (dp[i - coin] != 0 ) {
883
- dp[i] = Math . min(dp[i], dp[i - coin] + 1 );
884
- }
879
+ for (int i = coin; i <= amount; i++ ) {
880
+ dp[i] += dp[i - coin];
885
881
}
886
882
}
887
- return dp[amount] == 0 ? - 1 : dp[amount] ;
883
+ return dp[amount];
888
884
}
889
885
```
890
886
You can’t perform that action at this time.
0 commit comments