给定一个具有 n 个随机位的数组 A[] 和一个函数OR(i,j),它将从数组中获取两个索引作为参数,并返回 ( A[i] OR A[j] ) 的结果,即按位要么。确定数组内的所有位所需的最小或调用次数是多少,即确定 A[] 的每个索引是 0 还是 1 ?
(A) N-1
(B) N*(N-1)/2
(C)否
(D)无法确定位数组
答案: (C)
解释:
答案将是 N,因为我们可以将相同的索引发送到该函数OR(i,i) 中并了解该位。
如果 OR(i,i) = 0,则表示 a[i] = 0,否则 a[i] = 1。这个问题的测验