code for chapter 8 in javascript

This commit is contained in:
Kevin Nguyen
2016-06-21 21:48:53 -07:00
parent d41a255b64
commit 4a98a14bc1

View File

@@ -0,0 +1,31 @@
'use strict';
// You pass an array in, and it gets converted to a set.
let states_needed = 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 final_stations = new Set();
while (states_needed.size) {
let best_station = null;
let states_covered = new Set();
for (let station in stations) {
let states = stations[station];
let covered = new Set([...states_needed].filter((x) => states.has(x)));
if (covered.size > states_covered.size) {
best_station = station;
states_covered = covered;
}
}
states_needed = new Set([...states_needed].filter((x) => !states_covered.has(x)));
final_stations.add(best_station);
}
console.log(final_stations); // Set { 'kone', 'ktwo', 'kthree', 'kfive' }