Fix syntax issues

This commit is contained in:
Vitor Oliveira 2021-03-09 19:03:25 -08:00
parent 1553e26a91
commit 8363ae81fd
3 changed files with 28 additions and 29 deletions

View file

@ -1,30 +1,31 @@
def coin_change_minimum(coins, amount) def coin_change_minimum(coins, amount)
dp = Array.new(amount+1,-1) dp = Array.new(amount + 1, -1)
dp[0] = 0 dp[0] = 0
coins.each do |coin| coins.each do |coin|
(coin..amount).each do |i| (coin..amount).each do |i|
if dp[i-coin] != -1 if dp[i - coin] != -1
dp[i] = -1 == dp[i] ? dp[i-coin]+1 : [dp[i],dp[i-coin]+1].min dp[i] = -1 == dp[i] ? dp[i - coin] + 1 : [dp[i], dp[i - coin] + 1].min
end
end end
end end
dp[amount]
end end
def coin_change_combinations(coins, amount) dp[amount]
dp = Array.new(coins.length+1) { Array.new(amount+1,0) } end
dp[0][0] = 1
(1..coins.length).each do |i| def coin_change_combinations(coins, amount)
(0..amount).each do |j| dp = Array.new(coins.length + 1) { Array.new(amount + 1, 0) }
dp[i][j] = dp[i-1][j] + (j < coins[i-1] ? 0 : dp[i][j-coins[i-1]]) dp[0][0] = 1
end (1..coins.length).each do |i|
(0..amount).each do |j|
dp[i][j] = dp[i - 1][j] + (j < coins[i - 1] ? 0 : dp[i][j - coins[i - 1]])
end end
dp[coins.length][amount]
end end
dp[coins.length][amount]
end
coins = Array[2,4,5] coins = Array[2, 4, 5]
amount = 12 amount = 12
puts "Number of combinations of getting change for " + amount.to_s + " is "+ coin_change_combinations(coins, amount).to_s + "." puts 'Number of combinations of getting change for ' + amount.to_s + ' is ' + coin_change_combinations(coins,
puts "Minimum number of coins required for " + amount.to_s + " is "+ coin_change_minimum(coins, amount).to_s + "." amount).to_s + '.'
puts 'Minimum number of coins required for ' + amount.to_s + ' is ' + coin_change_minimum(coins, amount).to_s + '.'

View file

@ -34,9 +34,7 @@ def decimal_to_binary(d)
return binary if d == 0 return binary if d == 0
return 1.to_s if d == 1 return 1.to_s if d == 1
binary = decimal_to_binary(d / 2).to_s + binary decimal_to_binary(d / 2).to_s + binary
binary
end end
puts 'Binary value of 4 is ' + decimal_to_binary(4).to_s puts 'Binary value of 4 is ' + decimal_to_binary(4).to_s