面试中遇到的笔试题,记录一下~
题目:
1.写一个方法,统计字符串中出现的字母及出现次数。
比如:入参abcAAAabc
返回:a:2,b:2,c:2,A:3(示形式不限,但是结果中要能清晰感知出现字母及出现的次数)
const str = 'abcAAAabc';
let countObj = {}; // 用来统计字符串中出现的字母及次数
// 循环字符串
for (let i = 0; i < str.length; i++) {
// 将字符串中出现的字母设置为countObj的key名
let key = str[i];
// 将字符串中出现的字符(即字母)和字符出现次数存入countObj中
if (countObj[key]) {
countObj[key]++;
} else {
countObj[key] = 1;
}
}
console.log('countObj:', countObj); // countObj:{a: 2, b: 2, c: 2, A: 3}
// 输出统计的字母及出现次数
for (const key in countObj) {
console.log(`字母${key}-出现${countObj[key]}次`);
}
2./**
* 说明:计算多个区间的交集。
* 区间应长度为2的数组数组表示,如[2, 5]表示区间2到5(包括2到5);
* 区间不限定方向,如[5, 2]等同与[2, 5];
* 实现`getIntersection`,可接收多个区间,并返回所有区间的交集(用区间表示),如空集用null表示
&n