给定如下算法,其时间复杂度为( )。
bool f(int arr[], int n, int target) { for (int i = 0; i < n; i++) { int sum = 0; for (int j = 0; j < n; j++) { if (i & (1 << j)) { sum += arr[j]; } } if (sum == target) return true; } return false; }
O(n)O(n)O(n)
O(n2)O(n^2)O(n2)
O(n3)O(n^3)O(n3)
O(2n)O(2^n)O(2n)