头条2020届实习生笔试题

Posted lhh520

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了头条2020届实习生笔试题相关的知识,希望对你有一定的参考价值。

头条2020届实习生笔试题

一卷

编程题:

输入某年某月某日,判断这一天是这一年的第几天?

    // 判断是否为闰年
    function isRun(a) {
        return a % 4 == 0 && a % 100 != 0 || a % 400 == 0
    }

    // 判断是这一年的第几天
    function daysNum(year,month,day) {
        var months = [31,28,31,30,31,30,31,31,30,31,30,31];
        if(month ==1)  {
            return day;
        }
        for(var i = 0; i < month-1; i++) {
            day += months[i]
        }
        if(isRun(year) && month >2) {
            day ++
        }
        return day
    }

 

寻找多数元素

设计一个方法,在一个数组中寻找占大多数的元素(如果存在的话),如果这样的元素不存在,就输出“没有元素占大多数”。

占大多数的元素的定义为:如果一个数组A的长度为n,某一个元素在数组中的数量大于n/2,这个元素即为占大多数的元素。(简单推理可知,一个数组最多有一个元素为占大多数的元素)

附加要求:时间复杂度越小越好

例子:

输入:[3,3,4,2,4,4,2,4,4]

输出:4  // 一共5个4,超过数组长度的一半

Input: [3,3,4,2,4,4,2,4,]

Output:没有元素占大多数

    function SelectNum(arr) {
        let len = arr.length;
        var json = {};
        for (let i = 0; i < len; i++) {
            if (json[arr[i]] == undefined) {
                json[arr[i]] = 1;
            } else {
                json[arr[i]] += 1
            }
        }
        for (let a in json) {
            if (json[a] > len / 2) {
                return a
            }
        }

        return ‘没有元素占大多数‘
    }

 

第三题

技术分享图片

技术分享图片

技术分享图片

请有缘人指点。。

 

以上是关于头条2020届实习生笔试题的主要内容,如果未能解决你的问题,请参考以下文章

今日头条2017后端工程师实习生笔试题

链表后半部分反转(2016亚信实习生笔试题)

数据挖掘2022年京东算法工程师笔试题(23届)

实习笔试题,源代码编译

笔试题81. 腾讯2017暑期实习生笔试题

阿里巴巴2017实习生笔试题