题解 | #记票统计#

记票统计

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 arrinput = [];
    while ((line = await readline())) {
        arrinput.push(line);
    }
    let people = arrinput[1].split(" ");
    let vote = arrinput[3].split(" ");

    // // 方法1:循环查找
    // // 定义num统计所有的合法票数
    // let num = 0;
    // // 定义result数组用于存放“人员 : 票数”结果
    // let result = [];
    // people.forEach((item, index) => {
    //     // 定义count用于统计每一个人的合法得票数
    //     let count = 0;
    //     // 循环统计每一个人共有多少张得票
    //     vote.forEach((x, i) => {
    //         if (item == x) {
    //             count++;
    //         }
    //     });
    //     // 每一个人循环结束后,将其票数加到总得合法票数中
    //     num += count;
    //     // 存放结果
    //     result.push(item + " " + ":" + " " + count);
    // });
    // // 循环存放人员得票之后,存放不合规的票数
    // result.push("Invalid : " + (vote.length - num));
    // // 依次输出结果
    // for (let item of result) {
    //     console.log(item);
    // }

    // 方法2:对象
    let obj = {};
    let num = +arrinput[2];
    let count = 0;
    // 统计所有票的数量,包括合法和不合法
    for (let item of vote) {
        if (obj[item]) {
            obj[item]++;
        } else {
            obj[item] = 1;
        }
    }
    // 对每一位候选人,输出得票结果
    for (let item of people) {
        // 如果候选人不在obj中,则添加其为0
        if (obj[item] == undefined) {
            obj[item] = 0;
        }
        // 统计总的候选人的得票数
        count += obj[item];
        // 输出结果
        console.log(item + " : " + obj[item]);
    }

    // 最后输出不合法的票数
    console.log("Invalid : " + (num - count));
})();

全部评论

相关推荐

最近群里有很多同学找我看简历,问问题,主要就是集中在明年三月份的暑期,我暑期还能进大厂嘛?我接下来该怎么做?对于我来说,我对于双非找实习的一个暴论就是title永远大于业务,你在大厂随随便便做点慢SQL治理加个索引,可能就能影响几千人,在小厂你从零到一搭建的系统可能只有几十个人在使用,量级是不一样的。对双非来说,最难的就是约面,怎么才能被大厂约面试?首先这需要一点运气,另外你也需要好的实习带给你的背书。有很多双非的同学在一些外包小厂待了四五个月,这样的产出有什么用呢?工厂的可视化大屏业务很广泛?产出无疑是重要的,但是得当你的实习公司到了一定的档次之后,比如你想走后端,那么中厂后端和大厂测开的选择,你可以选择中厂后端(注意,这里的中厂也得是一些人都知道的,比如哈啰,得物,b站之类,不是说人数超过500就叫中厂),只有这个时候你再去好好关注你的产出,要不就无脑大厂就完了。很多双非同学的误区就在这里,找到一份实习之后,就认为自己达到了阶段性的任务,根本不再投递简历,也不再提升自己,玩了几个月之后,美其名曰沉淀产出,真正的好产出能有多少呢?而实际上双非同学的第一份实习大部分都是工厂外包和政府外包!根本无产出可写😡😡😡!到了最后才发现晚了,所以对双非同学来说,不要放过任何一个从小到中,从中到大的机会,你得先有好的平台与title之后再考虑你的产出!因为那样你才将将能过了HR初筛!我认识一个双非同学,从浪潮到海康,每一段都呆不久,因为他在不断的投递和提升自己,最后去了美团,这才是双非应该做的,而我相信大部分的双非同学,在找到浪潮的那一刻就再也不会看八股,写算法,也不会打开ssob了,这才是你跟别人的差距。
迷茫的大四🐶:我也这样认为,title永远第一,只有名气大,才有人愿意了解你的简历
双非本科求职如何逆袭
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

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