Я решаю проблему Hackerrank «Максимизация xor». (https://www.hackerrank.com/challenges/maximizing-xor)оператор^не определен для типа аргумента int, boolean
Я использовал оператор «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;
}
Но почему я получаю эту ошибку?
оператор^не определен для типа аргумента (ов) межд, логическое»
В то время как другие люди ответили на ваш вопрос, обратите внимание, что хотя это решение пройдет, это не самое эффективное решение. Вы можете заставить его работать быстрее, если попытаетесь понять, что XOR делает на бит уровне. – MathBunny