描述
给一串名字,将他们去重之后返回。两个名字重复是说在忽略大小写的情况下是一样的。
说明:
你可以假设名字只包含大小写字母和空格。
样例:
给出:
[
"James",
"james",
"Bill Gates",
"bill Gates",
"Hello World",
"HELLO WORLD",
"Helloworld"
]
返回:
[
"james",
"bill gates",
"hello world",
"helloworld"
]
这题很简单,自己想一下!
这题很简单,自己想一下!
这题很简单,自己想一下!
给
你
点
时
间
想
一
下
题目分析:
- 思路就是:去重和转小写
code:
题目基本就像下面这样解了,其他的不过是循环的方法,去重的方法不同,事实上都大同小异。
const nameDeduplication = names => {
names.forEach((value, index) => {
names[index] = value.toLowerCase(); // 全部转小写
});
return [...new Set(names)]; // 去重
}
再讲一个坑吧:
题目描述的时候说是输出是这样的:
["james", "bill gates", "hello world", "helloworld"]
当我把代码提交之后,告诉我,期望答案是这样的:
["bill gates", "hello world", "helloworld", "james"]
一般来说不会这么坑:
return [...new Set(names)].sort(); // 我在后面加了一个sort方法就符合他们的预期答案了。。
题目比较简单,就不放代码(上面就是)了。
github 算法仓库地址
2018.8.16