diff --git a/08_greedy_algorithms/ES6/01_set_covering.js b/08_greedy_algorithms/ES6/01_set_covering.js index 2e075cc..8f93415 100644 --- a/08_greedy_algorithms/ES6/01_set_covering.js +++ b/08_greedy_algorithms/ES6/01_set_covering.js @@ -1,20 +1,19 @@ // You pass an array in, and it gets converted to a set. -let statesNeeded = new Set(['mt', 'wa', 'or', 'id', 'nv', 'ut', 'ca', 'az']); +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']); +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) => { + Object.keys(stations).forEach(station => { const states = stations[station]; const covered = new Set([...statesNeeded].filter(x => states.has(x))); if (covered.size > statesCovered.size) { diff --git a/08_greedy_algorithms/javascript/01_set_covering.js b/08_greedy_algorithms/javascript/01_set_covering.js index a2bb41e..5b49f95 100644 --- a/08_greedy_algorithms/javascript/01_set_covering.js +++ b/08_greedy_algorithms/javascript/01_set_covering.js @@ -1,7 +1,7 @@ -'use strict'; +"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"]); +let statesNeeded = new Set(["mt", "wa", "or", "id", "nv", "ut", "ca", "az"]); const stations = {}; stations["kone"] = new Set(["id", "nv", "ut"]); @@ -10,22 +10,21 @@ stations["kthree"] = new Set(["or", "nv", "ca"]); stations["kfour"] = new Set(["nv", "ut"]); stations["kfive"] = new Set(["ca", "az"]); -const final_stations = new Set(); +const finalStations = new Set(); - -while (states_needed.size) { - let best_station = null; - let states_covered = new Set(); +while (statesNeeded.size) { + let bestStation = null; + let statesCovered = 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; + const states = stations[station]; + const covered = new Set([...statesNeeded].filter(x => states.has(x))); + if (covered.size > statesCovered.size) { + bestStation = station; + statesCovered = covered; } } - states_needed = new Set([...states_needed].filter((x) => !states_covered.has(x))); - final_stations.add(best_station); + statesNeeded = new Set([...statesNeeded].filter(x => !statesCovered.has(x))); + finalStations.add(bestStation); } -console.log(final_stations); // Set { 'kone', 'ktwo', 'kthree', 'kfive' } +console.log(finalStations); // Set { 'kone', 'ktwo', 'kthree', 'kfive' }