Skip to content

Commit cd4edd0

Browse files
committed
added chapter 11
1 parent 7b5bc47 commit cd4edd0

File tree

3 files changed

+38
-11
lines changed

3 files changed

+38
-11
lines changed

chapter11/02-MinCoinChangeDP.js

+3-1
Original file line numberDiff line numberDiff line change
@@ -34,5 +34,7 @@ function MinCoinChange(coins){
3434

3535

3636
var minCoinChange = new MinCoinChange([1, 5, 10, 25]);
37+
console.log(minCoinChange.makeChange(36));
3738

38-
console.log(minCoinChange.makeChange(37));
39+
var minCoinChange2 = new MinCoinChange([1, 3, 4]);
40+
console.log(minCoinChange2.makeChange(6));

chapter11/MinCoinChangeGreedy.html

+10
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
<!DOCTYPE html>
2+
<html>
3+
<head>
4+
<meta charset="UTF-8">
5+
<title></title>
6+
</head>
7+
<body>
8+
<script type="text/javascript" src="MinCoinChangeGreedy.js"></script>
9+
</body>
10+
</html>

chapter11/MinCoinChangeGreedy.js

+25-10
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,26 @@
1-
var makeChange = function(amount) {
2-
var change = [],
3-
total = 0;
4-
[25, 10, 5, 1].forEach(function(coin) {
5-
while (total + coin <= amount) {
6-
change.push(coin);
7-
total += coin;
1+
function MinCoinChange(coins){
2+
3+
var coins = coins;
4+
5+
var cache = {};
6+
7+
this.makeChange = function(amount) {
8+
var change = [],
9+
total = 0;
10+
for (var i=coins.length; i>=0; i--){
11+
var coin = coins[i];
12+
while (total + coin <= amount) {
13+
change.push(coin);
14+
total += coin;
15+
}
816
}
9-
});
10-
return change;
11-
};
17+
return change;
18+
};
19+
}
20+
21+
22+
var minCoinChange = new MinCoinChange([1, 5, 10, 25]);
23+
console.log(minCoinChange.makeChange(36));
24+
25+
var minCoinChange2 = new MinCoinChange([1, 3, 4]);
26+
console.log(minCoinChange2.makeChange(6));

0 commit comments

Comments
 (0)