0
我有幾個問題要做,而且我對他們的工作方式有一個體面的理解,我只是想反饋一下,如果我是正確的。我需要弄清楚下面的大哦。這些複雜性類是否正確?
1.
public static int[] mystery1(int[] list) {
int[] result = new int[2*list.length];
for (int i=0; i<list.length; i++) {
result[2*i] = list[i]/2+list[i] % 2;
result[2*i+1] = list[i]/2;
}
我認爲這一個將是NLOG(N)
2.
public static int[] mystery2(int[] list) {
for (int i=0; i<list.length/2; i++) {
int j = list.length-1-i;
int temp = list[i];
list[i] = list[j];
list[j] = temp;
}
return list;
}
我認爲這一個將是O(logN個),因爲它正在潛水2,直到它完成
3.
public static void mystery3(ArrayList<String> list) {
for (int i=0; i<list.size-1; i+=2) {
String first = list.remove(i);
list.add(i+1, first);
}
}
我認爲這一個將是O(N)
4.
public static void mystery4(ArrayList<String> list) {
for (int i=0; i<list.size-1; i+=2) {
String first = list.get(i);
list.set(i, list.get(i+1));
list.set(i+1, first);
}
}
我認爲這一個將是上)。
那麼我是完全錯誤的。 add.list是什麼使它順序n^2? – aeipownu