博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
大厂2020届实习生笔试题
阅读量:6696 次
发布时间:2019-06-25

本文共 1143 字,大约阅读时间需要 3 分钟。

编程题:

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

// 判断是否为闰年    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    }

2.寻找多数元素

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

占大多数的元素的定义为:如果一个数组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 '没有元素占大多数'    }

3.

请有缘人指点。。

转载地址:http://gmvoo.baihongyu.com/

你可能感兴趣的文章
pl/sql编程(十五)
查看>>
查看端口是否被占用
查看>>
request对象的常用属性和方法
查看>>
leetcode:Rotate List
查看>>
webpack 使用环境变量
查看>>
NGOSS 初识
查看>>
16-组件的创建
查看>>
StatefulSet(一):拓扑状态
查看>>
python例题21--30
查看>>
历届试题 带分数
查看>>
PhotoShop基础工具 -- 移动工具
查看>>
Android学习笔记(八)——四种基本布局
查看>>
爬虫--Scrapy框架的基本使用
查看>>
(最小生成树) Building a Space Station -- POJ -- 2031
查看>>
maven常用技巧
查看>>
Luogu_2876_[USACO07JAN]解决问题Problem Solving
查看>>
C#多态问题
查看>>
如何选择梯度下降法中的学习速率α(Gradient Descent Learning Rate Alpha)
查看>>
Linux shell中运行命令后加上字符“&”的作用
查看>>
Redis----windows下的常用命令
查看>>