返回
**六大妙招轻松玩转数组去重,从此告别重复烦恼**
前端
2023-09-17 14:24:40
数组去重,在面试和工作中都是比较容易见到的问题,今天,我们一起学习常见的六种方法。方法的封装示例如下:
方法一:
function unique1(array) {
return [...new Set(array)];
}
方法二:
def unique2(array):
return list(dict.fromkeys(array))
方法三:
public static int[] unique3(int[] array) {
Arrays.sort(array);
int[] unique = new int[array.length];
int count = 0;
for (int i = 0; i < array.length; i++) {
if (i == 0 || array[i] != array[i - 1]) {
unique[count++] = array[i];
}
}
return Arrays.copyOf(unique, count);
}
方法四:
vector<int> unique4(vector<int>& array) {
sort(array.begin(), array.end());
vector<int> unique;
for (int i = 0; i < array.size(); i++) {
if (i == 0 || array[i] != array[i - 1]) {
unique.push_back(array[i]);
}
}
return unique;
}
方法五:
function unique5(array) {
const unique = [];
for (const item of array) {
if (!unique.includes(item)) {
unique.push(item);
}
}
return unique;
}
方法六:
def unique6(array):
unique = []
for item in array:
if item not in unique:
unique.append(item)
return unique
每种方法都有其特点,可以根据具体情况选择最适合的方法。无论你是面试还是工作,掌握这些方法都能让你更加从容应对,展现出色的编程能力。
在学习完这些方法后,我们可以做一些练习来巩固理解,比如:
- 给定一个数组,请用至少三种方法去重,并比较它们的运行效率。
- 在实际项目中,你会如何选择数组去重的方法?
- 除了本文中提到的方法,你还知道哪些其他的数组去重方法?
希望这些方法对大家有所帮助。如果您有任何问题或建议,欢迎在评论区留言。