题解 | 数组中出现次数超过一半的数字

/**
 * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可
 *
 *
 * @param numbers int整型一维数组
 * @return int整型
 */
function MoreThanHalfNum_Solution(numbers) {
    // write code here
    let std = parseInt(numbers.length / 2);
    let map = new Map();
    // 遍历数组,统计每个数字的出现次数
    for (let num of numbers) {
        if (map.has(num)) {
            map.set(num, map.get(num) + 1); // 如果数字已存在,次数加 1
        } else {
            map.set(num, 1); // 如果数字不存在,初始化为 1
        }
    }
    // 遍历字典,找到出现次数超过一半的数字
    for (let [num, count] of map.entries()) {
        if (count > std) {
            return num; // 返回符合条件的数字
        }
    }

    return -1; // 题目保证有解,这里不会执行
}
module.exports = {
    MoreThanHalfNum_Solution: MoreThanHalfNum_Solution,
};

全部评论

相关推荐

#牛客AI配图神器#在职场竞争中,时间就是效率,效率就是竞争力。掌握时间管理技巧,不仅能让你在工作中脱颖而出,还能在求职过程中轻松搞定offer。一、时间管理的重要性时间管理是职场中的一项关键技能,它能帮助你高效完成任务,提升工作质量。在求职过程中,良好的时间管理能力不仅能让你更好地准备简历和面试,还能在面试中展现出你的专业性和高效性。例如,当你能够合理安排时间,提前准备好面试所需的材料,就能在面试中显得从容不迫。时间管理不仅能提升个人效率,还能增强团队协作能力。在团队项目中,如果你能高效完成自己的任务,就能为团队节省时间,推动项目顺利进行。这种能力在面试中是非常有吸引力的,因为它表明你不仅能做好自己的工作,还能为团队带来价值。例如,如果你在面试中提到自己曾通过合理的时间规划,提前完成项目任务,面试官会认为你是一个高效且值得信赖的候选人。二、如何提升时间管理能力提升时间管理能力需要从日常小事做起。首先,学会制定计划。每天早上或前一天晚上,列出当天需要完成的任务清单,并按照优先级排序。这样可以帮助你明确目标,避免浪费时间在无关紧要的事情上。例如,你可以将重要且紧急的任务放在首位,优先完成。其次,学会拒绝无关紧要的干扰。在工作或学习时,尽量减少社交媒体和无关信息的干扰。例如,设定专注时间,在这段时间内关闭手机通知,专注于手头的任务。研究表明,专注工作不仅能提高效率,还能提升工作质量。最后,合理利用碎片时间。例如,在通勤路上,你可以听有声书或学习课程;在午休时间,可以回顾当天的工作计划或准备面试材料。这些碎片时间的合理利用,能让你在求职过程中更加从容不迫,轻松搞定offer。三、时间管理在求职中的应用在求职过程中,时间管理能力尤为重要。例如,当你收到面试通知后,合理安排时间准备面试材料,包括研究公司背景、准备面试问题和整理个人简历。这种有条不紊的准备方式不仅能提升你的自信心,还能在面试中展现出你的专业性。此外,时间管理能力还能帮助你在求职过程中保持良好的心态。当你能够合理安排时间,平衡工作、学习和休息,就能避免因压力过大而影响表现。例如,你可以设定每天的求职时间,专注于投递简历和准备面试,而在其他时间放松身心,进行兴趣爱好活动。这种平衡不仅能提升你的求职效率,还能让你在面试中展现出积极向上的态度,轻松搞定offer。
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客企业服务