• 头条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 '没有元素占大多数'
        }

    第三题

    请有缘人指点。。

  • 相关阅读:
    chrome shortkeys
    五笔xu
    getline()报错解决办法
    PCA程序
    c++矩阵运算库Eigen
    yolo接口
    遇到的编译错误及解决办法
    visual studio command window的使用
    NDK+MSYS2+Android sdk编译opencv源码
    面向对象分析与设计笔记(三)
  • 原文地址:https://www.cnblogs.com/lhh520/p/10330154.html
Copyright © 2020-2023  润新知