public static int Count(List<Integer> lst1, List<Integer> lst2)
{
Iterator<Integer> itr1 = lst1.iterator();
int count=0;
while (itr1.hasNext())
{
Integer x = itr1.next();
Iterator<Integer> itr2 = lst2.iterator();
while (itr2.hasNext())
if (x.equals(itr2.next()))
count++;
}
return count;
}
- Если ArrayList передан для lst1 и lst2.
- Если LinkedList передан для lst1 и lst2.
я иду и потому, что в то время как кулак петли O(n)
затем в secong в то время как O(n)
и если также O(n) = O(n^3)
. Я не знаю, ошибаюсь я или нет?Каково большое время работы O следующего кода?
n = list1.size m = list2.size -> O (n * m), ВЫ ДОЛЖНЫ использовать BRACES в этом случае для чтения. – nachokk
@nachokk Я не согласен. Правильное углубление важно. Скобки не играют никакой роли для удобочитаемости здесь; если они вообще применимы только к правильности (но я также возражал против этого в другом месте). –
@ KonradRudolph действительно? второй, в то время как открытый и конечный слишком ясны? я должен подумать 5 секунд, чтобы понять, где начинается и заканчивается – nachokk