作者热门文章
- iOS/Objective-C 元类和类别
- objective-c - -1001 错误,当 NSURLSession 通过 httpproxy 和/etc/hosts
- java - 使用网络类获取 url 地址
- ios - 推送通知中不播放声音
我想计算从 0 到 (n)^{1/2} - 1
的数字的 AND每个数字从 0 到 (n)^{1/2} - 1
.我想在 O(n)
中执行此操作时间,不能使用 XOR、OR、AND 运算。
具体来说,我可以计算X+1 AND Y
吗?如果我知道X AND Y
?
附言- 此处假定 RAM 模型并对 < log(n)
进行运算(加、乘、除)比特数可以做到是常数时间。
最佳答案
是的。
从 [1x1] 网格开始:
H(-1) = [ 0 ]
然后应用递归:
H(i) = [ H(i-1) H(i-1)
H(i-1) H(i-1)+(1 << i) ]
其中表示矩阵串联。即每次递归都会使每个维度的网格大小加倍。重复直到达到所需的大小。
关于计算 AND 的算法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5057216/
我是一名优秀的程序员,十分优秀!