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