Add ES6 Examples to all chapters (#38)

* add ES6 example for binary search

* add ES6 example for selection sort

* add ES6 example for countdown

* add ES6 example for greet

* add ES6 example for factorial

* edit ES6 example for quicksort

* add ES6 example for loop sum

* add ES6 example for recursive sum

* add ES6 example for recursive count

* add ES6 example for recursive max

* add ES6 example for price of groceries

* add ES6 example for check voter

* add ES6 example for breadth-first search

* add ES6 example for dijkstras algorithm

* edit ES6 example for dijkstras algorithm

* edit ES6 example for set covering

* add ES6 example for longest common subsequence
This commit is contained in:
Yossi Adler
2017-11-13 18:12:59 +02:00
committed by Aditya Bhargava
parent 1a81d3e6b2
commit ec2890a93d
20 changed files with 328 additions and 18 deletions

View File

@@ -0,0 +1,29 @@
// You pass an array in, and it gets converted to a set.
let statesNeeded = new Set(['mt', 'wa', 'or', 'id', 'nv', 'ut', 'ca', 'az']);
const stations = {};
stations.kone = new Set(['id', 'nv', 'ut']);
stations.ktwo = new Set(['wa', 'id', 'mt']);
stations.kthree = new Set(['or', 'nv', 'ca']);
stations.kfour = new Set(['nv', 'ut']);
stations.kfive = new Set(['ca', 'az']);
const finalStations = new Set();
while (statesNeeded.size) {
let bestStation = null;
let statesCovered = new Set();
Object.keys(stations).forEach((station) => {
const states = stations[station];
const covered = new Set([...statesNeeded].filter(x => states.has(x)));
if (covered.size > statesCovered.size) {
bestStation = station;
statesCovered = covered;
}
});
statesNeeded = new Set([...statesNeeded].filter(x => !statesCovered.has(x)));
finalStations.add(bestStation);
}
console.log(finalStations); // Set { 'kone', 'ktwo', 'kthree', 'kfive' }