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。
我去,因为两者的拳头while循环O(n)
然后同时O(n)
的secong和如果还O(n) = O(n^3)
。我不知道我是否错了?以下代码的大运行时间是多少?
n = list1.size m = list2.size - > O(n * m),你应该在这种情况下使用BRACES来提高可读性 – nachokk
@nachokk我不同意。适当的缩进非常重要。这里的大括号对可读性没有任何作用;如果它们只与正确性有关(但我在其他地方也有争论)。 –
@KonradRudolph真的吗?第二,在哪里开放和结束太清楚了?我必须想5秒钟来实现开始和结束 – nachokk