题解 | #记票统计#

记票统计

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 () {
    let inputArr = [];
    while(line = await readline()){
        inputArr.push(line);
    }
    let peopleNum = Number(inputArr[0]);//总人数
    let peopleArr = inputArr[1].split(' ');
    let voteNum = Number(inputArr[2]);//总票数
    let voteArr = inputArr[3].split(' ');
    let obj = {};//存放每个候选人的票数
    for(let i = 0;i<peopleArr.length;i++){//循环候选人
        let cur = peopleArr[i];
        obj[cur] = 0;
        for(let j = 0;j<voteArr.length;j++){//循环每一票
            if(voteArr[j] === cur){
                obj[cur]++;//给被投票的计数
            }
        }
    }
    let invalidNum = 0;//总无效票数
    let totalValid = 0;//总有效票数
    for(k in obj){
        totalValid += obj[k]
    }
    //用总票数减去每个候选人的票数,得到无效票数
    invalidNum = voteNum - totalValid;
    obj['Invalid'] = invalidNum;
    for(k in obj){
        console.log(`${k} : ${obj[k]}`)
    }
}()

全部评论

相关推荐

北漂的牛马人:211佬,包进的,可能是系统问题
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务