题解 | #记票统计#
记票统计
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);
}
})();
