我寫了一個函數來查找目標值應該插入到給定數組中的位置。我們假設數組具有不同的值並按升序排序。我的解決方案必須在O(log N)時間複雜度數組函數的時間複雜度
public static int FindPosition(int[] A, int target) {
int a = A.length/2;
System.out.println(a);
int count = a;
for (int i = a; i < A.length && A[i] < target; i++) {
count++;
}
for (int i = a; i > A.length && A[i] > target; i--) {
count++;
}
return count;
}
此代碼是否具有O(log N)的複雜性?
好方法來解釋。 – hagrawal
int count = 0; count(++ i; 0; i < i ++; } return count;這裏的目標是int並且A是數組。什麼是時間複雜度@ TheManHasNoName – raju
時間複雜度將是循環重複的次數,在最糟糕的情況下,我們假設循環迭代到最後一個項目,直到到達元素。所以它會是O(長度爲A) – sai