def binary_search(arr, target):
low = 0
high = len(arr) - 1
while low <= high:
mid = (low + high) // 2
if arr[mid] == target:
return True
elif arr[mid] < target:
low = mid + 1
else:
high = mid - 1
return False
print("O(log n):", binary_search([1, 3, 5, 7, 9, 11], 7))
print("O(log n):", binary_search([1, 3, 5, 7, 9, 11], 8))
O(log n): True
O(log n): False
def count_duplicates(arr):
count = 0
for i in range(len(arr)):
for j in range(i + 1, len(arr)):
if arr[i] == arr[j]:
count += 1
return count
print("O(n²):", count_duplicates([1, 2, 3, 2, 1, 4, 1]))