У меня есть 2 списка целых чисел, которые являются L1 и L2.
L1 и L2 могут быть любой длины (0,1 или много)
Я строю метод, который должен возвращать false, если какой-либо элемент L1 отсутствует в L2, и true в противном случае:
Я делаю это:
private myMethod(L1: int[],L2: int[])
{
return L1.every(L1element => L2.includes(L1element))
}
С этим кодом все работает хорошо, но мне интересно, если я делаю наиболее эффективным способом: причина для каждого элемента L1 (по крайней мере, первого и до последнего в худшем случае) Я выполняю итерации для каждого элемента L2 (по крайней мере, первого и до последнего в худшем случае) , поэтому стоимость, если о (длина L1 * длина L2), если я не ошибаюсь. Было бы невозможно улучшить производительность, сначала отсортировав 2 списка, или есть какой-то способ, я немного проверил и некоторые разговоры о пересечении, но я не знаю, что делает это пересечение под капотом, он делает то же самое, что и я?