统计数组中每个字符串出现次数
/**
* 统计数组中每个字符串出现次数
* @param string[] strs: 字符串数组, 例如 ['aa', 'ab', 'ab', 'cc', 'cba']
* @return {[key: string]: number} 出现次数对象, 例如 { aa: 1, ab: 2, cc: 1, cba: 1 }
*/
var frequencyMap = (strs) => {
const map = {};
for (let i = 0; i < strs.length; i++) {
const ch = strs[i];
map[ch] = (map[ch] || 0) + 1;
}
return map;
}
处理给定字符串
/**
* 请处理给定字符串:
* - 去掉无用字符和乱码, 只保留大小写英文字母, 单引号, 和空格
* - 把一个或多个连续无用字符和乱码换成一个空格. 注意多个乱码只替换成一个空格
* @param str: 字符串, 例 "I'm我我我driving是to乱乱Beijing码after breakfast88"
* @return str: 例 "I'm driving to Beijing after breakfast "
*/
var decode = (str) => {
const result = [];
for (let item of str) {
if (/[a-zA-Z\'\s]/.test(item)) {
result.push(item);
} else {
result[result.length - 1] != " " ? result.push(" ") : "";
}
}
return result.join("");
}