【发布时间】:2016-07-11 17:59:20
【问题描述】:
我正在解决 Hackerrank 问题“最大化异或”。 (https://www.hackerrank.com/challenges/maximizing-xor)
我使用'if'语句来检查 i xor j 是否大于'max',如代码所示。
static int maxXor(int l, int r) {
int max=0;
for(int i=l;i<r;i++)
for(int j=l;j<r;j++)
{
if(i^j>max)/*error part*/
max=i^j;
}
return max;
}
但是为什么会出现这个错误?
对于参数类型 int,boolean',运算符 ^ 未定义
【问题讨论】:
-
虽然其他人已经回答了您的问题,但请注意,虽然此解决方案会通过,但它并不是最有效的解决方案。如果您尝试在位级别上考虑 XOR 的作用,则可以使其运行得更快。
标签: java operator-precedence boolean-operations