Fixed formatting problems

This commit is contained in:
Alexandrshy
2019-07-26 00:29:41 +04:00
parent bac32b613b
commit 5a1d2c04d4
2 changed files with 21 additions and 23 deletions

View File

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

View File

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