给定如下算法,其时间复杂度为( )。 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; }
A:O(n)
B:O(n^2)
C:O(n^3)
D:O(2^n)
正确答案:D
试卷来源:202506 CCF-GESP编程能力等级认证C++四级真题