大厂2020届实习生笔试题
栏目: JavaScript · 发布时间: 5年前
内容简介:编程题:1.输入某年某月某日,判断这一天是这一年的第几天?2.寻找多数元素
编程题:
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,超过数组长度的一半
[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.
请有缘人指点。。
以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,也希望大家多多支持 码农网
猜你喜欢:本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。
C++程序设计原理与实践
(美)Bjarne Stroustrup / 王刚 等 / 机械工业出版社 / 2010.7 / 108.00元
本书是经典程序设计思想与C++开发实践的完美结合,是C++之父回归校园后对C++编程原理和技巧的全新阐述。书中全面地介绍了程序设计基本原理,包括基本概念、设计和编程技术、语言特性以及标准库等,教你学会如何编写具有输入、输出、计算以及简单图形显示等功能的程序。此外,本书通过对C++思想和历史的讨论、对经典实例(如矩阵运算、文本处理、测试以及嵌入式系统程序设计)的展示,以及对C语言的简单描述,为你呈现......一起来看看 《C++程序设计原理与实践》 这本书的介绍吧!