请实现一个计票统计系统。你会收到很多投票,其中有合法的也有不合法的,请统计每个候选人得票的数量以及不合法的票数。
(注:不合法的投票指的是投票的名字不存在n个候选人的名字中!!)
数据范围:每组输入中候选人数量满足 ,总票数量满足
第一行输入候选人的人数n,第二行输入n个候选人的名字(均为大写字母的字符串),第三行输入投票人的人数,第四行输入投票。
按照输入的顺序,每行输出候选人的名字和得票数量(以" : "隔开,注:英文冒号左右两边都有一个空格!),最后一行输出不合法的票数,格式为"Invalid : "+不合法的票数。
4 A B C D 8 A D E CF A GG A B
A : 3 B : 1 C : 0 D : 1 Invalid : 3
E CF GG三张票是无效的,所以Invalid的数量是3.
var num1 = await readline(); var str1 = await readline(); var num2 = await readline(); var str2 = await readline(); var arr1 = str1.split(" "); var arr2 = str2.split(" "); var obj = {}; var invalid = 0; arr1.forEach(v=>{ obj[v] = 0; }) arr2.forEach(v=>{ if(arr1.includes(v)){ obj[v]++; }else{ invalid++; } }) for(var k in obj){ console.log(`${k} : ${obj[k]}`); } console.log(`Invalid : ${invalid}`);
readline(); const candicates = readline().split(' '); readline(); const votes = readline().split(' '); let res = {} candicates.forEach(c => { res[c] = 0; }) res.Invalid = 0 votes.forEach(c => { if(res[c] !== undefined){ res[c] += 1; }else{ res.Invalid +=1; } }) for(let key in res){ console.log(`${key} : ${res[key]}`) }
const res = []; function func(line) { res.push(line); // 如果数组长度等于4,进入计算 if (res.length === 4) { const hNum = res[0]; const hArr = res[1].split(" "); const tNum = res[2]; const tArr = res[3].split(" "); const map = {}; for (let t of tArr) { // 开始统计票数 const key = hArr.includes(t) ? t : "Invalid"; map[key] ? map[key]++ : (map[key] = 1); } // 开始打印结果 for (let h of hArr) { console.log(h + " : " + (map[h] || 0)); } console.log("Invalid : " + (map["Invalid"] || 0)); } } while ((line = readline())) { func(line); }