Может ли кто-нибудь рассказать мне о временной сложности приведенного ниже кода?
a
- это массив из int.
Set<Integer> set = new HashSet<Integer>();
for (int i = 0; i < a.length; i++) {
if (set.contains(arr[i])) {
System.out.println("Hello");
}
set.add(arr[i]);
}
Я думаю, что это O (n), но я не уверен, поскольку он использует Set
, и это также содержит методы. Он также вызывает метод add
Set
.
Может ли кто-нибудь подтвердить и объяснить, что такое сложность во времени всего кода выше? Кроме того, сколько места потребуется?