题解 | #记票统计#
记票统计
https://www.nowcoder.com/practice/3350d379a5d44054b219de7af6708894
const rl = require("readline").createInterface({ input: process.stdin }); var iter = rl[Symbol.asyncIterator](); const readline = async () => (await iter.next()).value; void (async function () { // Write your code here let index = 0; let n = 0; let cadidates = []; let m = 0; let voters = []; while ((line = await readline())) { switch (index) { case 0: n = parseInt(line); case 1: cadidates = line.split(" "); case 2: m = parseInt(line); case 3: voters = line.split(" "); } index++; } var hashmap = new Map(); for (let i = 0; i < n; i++) { // 初始化候选人及票数信息 hashmap.set(cadidates[i], 0); } hashmap.set("Invalid", 0); // 初始化不合法票数信息 for (const v of voters) { if (cadidates.some((item) => item === v)) { let k = hashmap.get(v); hashmap.set(v, k + 1); } else { let k = hashmap.get("Invalid"); hashmap.set("Invalid", k + 1); } } let keyArr = hashmap.keys(); let valueArr = hashmap.values(); for (let i = 0; i <= n; i++) { console.log(keyArr.next().value, ":", valueArr.next().value); } })();