2020年冬季前端笔试题总结

最近面试了一些公司,拿了一些offer,不记录概念题目,仅记录coding类题目。小伙伴们空闲时间可以做这些题目练练手。

  • 只出现一次的数字
  • 汇总区间
  • 实现红绿灯效果
  • 数组去重
  • 返回 excel 表格列名
  • 检测空对象
  • 实现a+a+a打印'abc'
  • 实现一个Event模块
  • 大整数相加
  • SuperPerson继承Person
  • 字符串隐藏部分内容

只出现一次的数字

给定一个非空整数数组,除了某个元素只出现一次以外,其余每个元素均出现两次。找出那个只出现了一次的元素。示例 1:

输入: [2,2,1]输出: 1示例 2:

输入: [4,1,2,1,2]输出: 4这是一道leetcode 简单难度的题。题目:leetcode 136 只出现一次的数字题解:136 只出现一次的数字

/**
* @param {number[]} nums
* @return {number}
*/
var singleNumber = function (nums) {
/** 解法1:暴力遍历
* 性能:704ms 40.5MB
*/
let numsSet = Array.from(new Set(nums));
let numsMap = numsSet.map((num) => ({
num,
count: 0,
}));
nums.forEach((num, i) => {
numsMap.forEach((numM, j) => {
if (numM.num === num) {
numM.count++;
}
});
});
let filterArr = numsMap.filter((num) => num.count === 1);
return filterArr[0].num;
/** 解法2:Set 首次出现add 二次出现delete
* 性能: 72 ms 38MB
*/
let numsSet = new Set();
for (let i = 0; i < nums.length; i++) {
if (!numsSet.has(nums[i])) {
numsSet.add(nums[i]);
} else {
numsSet.delete(nums[i]);
}
}
return [...numsSet][0];
};

<< · Back Index ·>>

发表回复

相关推荐

對 策|小組討論又被刷?因為你不知道這7項評判標準

許多人對小組討論(GD)發怵,是因為不瞭解它的評判標準。這種情況下參加選考,就會不知道哪裡表現好,哪裡表現不好,感到非...

· 11分钟前

害怕高原反應?看這一篇就夠瞭。

無論你是懷著朝聖之心想一睹真容,還是隻想去拍照發個票圈,如果你對西藏心心念念,又害怕高原反應遲遲下不瞭決心看完這篇你...

· 19分钟前

推荐9个免费电子书下载网站

给大家整理一些好用的电子书下载网站,电子书资源丰富,下载也方便,建议大家多收藏备用!

· 20分钟前

吳昊周遊列國志——拉巴特

在介紹完經濟首都卡薩佈蘭卡之後,我今天介紹摩洛哥的政治首都拉巴特吧!這兩個城市的關系,你可以將其視作緬甸的仰光和內比...

· 20分钟前

戴戒指也要看風水,這些禁忌瞭解下

請新郎、新娘交換戒指……電視劇的婚禮情節這一環絕對是最賺眼淚的,說著此生不渝的誓言,甘願把一生的自由箍在無名指上,完美...

· 38分钟前