Bird
Raised Fist0
DSA Javascriptprogramming~20 mins

Find the Only Non Repeating Element Using XOR in DSA Javascript - Practice Problems & Challenges

Choose your learning style10 modes available
Challenge - 5 Problems
🎖️
XOR Mastery Badge
Get all challenges correct to earn this badge!
Test your skills under time pressure!
❓ Predict Output
intermediate
2:00remaining
What is the output of the XOR-based function?
Consider the following JavaScript function that finds the only non-repeating element in an array where every other element repeats twice. What will be the output when the function is called with the given input?
DSA Javascript
function findNonRepeating(arr) {
  let result = 0;
  for (let num of arr) {
    result ^= num;
  }
  return result;
}

console.log(findNonRepeating([2, 3, 5, 4, 5, 3, 4]));
A2
B5
C3
D4
Attempts:
2 left
💡 Hint
XOR of a number with itself is zero, and XOR with zero is the number itself.
❓ Predict Output
intermediate
2:00remaining
What is the output when the array has negative numbers?
What will the following code print when the input array contains negative and positive numbers?
DSA Javascript
function findNonRepeating(arr) {
  let result = 0;
  for (let num of arr) {
    result ^= num;
  }
  return result;
}

console.log(findNonRepeating([-1, 2, -1, 3, 2]));
A-1
B3
C2
D0
Attempts:
2 left
💡 Hint
XOR works with negative numbers as well.
🔧 Debug
advanced
2:00remaining
Identify the error in this XOR implementation
The following code is intended to find the only non-repeating element using XOR. What will be the output when run?
DSA Javascript
function findNonRepeating(arr) {
  let result = 0;
  for (let i = 0; i <= arr.length; i++) {
    result ^= arr[i];
  }
  return result;
}

console.log(findNonRepeating([1, 1, 2]));
ANo error, output is NaN
BReferenceError: result is not defined
CTypeError: Cannot read property 'undefined' of undefined
DSyntaxError: Unexpected token '^='
Attempts:
2 left
💡 Hint
Check the loop boundary condition carefully.
❓ Predict Output
advanced
2:00remaining
What is the output of XOR on an empty array?
What will the following code print when the input array is empty?
DSA Javascript
function findNonRepeating(arr) {
  let result = 0;
  for (let num of arr) {
    result ^= num;
  }
  return result;
}

console.log(findNonRepeating([]));
Aundefined
BTypeError
Cnull
D0
Attempts:
2 left
💡 Hint
XOR with zero and no numbers returns zero.
❓ Predict Output
expert
2:00remaining
What is the output of XOR on a large array with one unique element?
Given the array where every number except one appears twice, what will the following code print?
DSA Javascript
function findNonRepeating(arr) {
  let result = 0;
  for (let num of arr) {
    result ^= num;
  }
  return result;
}

const arr = [];
for(let i = 1; i <= 1000; i++) {
  arr.push(i);
  arr.push(i);
}
arr.push(12345);

console.log(findNonRepeating(arr));
ATypeError
B1000
C12345
D0
Attempts:
2 left
💡 Hint
All pairs cancel out, leaving the unique number.

Practice

(1/5)
1. What does the XOR operation do when applied between two identical numbers?
easy
A. It returns 0
B. It returns the number itself
C. It returns 1
D. It returns the sum of the numbers

Solution

  1. Step 1: Understand XOR property for identical numbers

    XOR of a number with itself always results in 0 because bits cancel out.
  2. Step 2: Apply XOR to example

    For example, 5 ^ 5 = 0 as each bit is the same and cancels.
  3. Final Answer:

    It returns 0 -> Option A
  4. Quick Check:

    X ^ X = 0 [OK]
Hint: XOR same numbers always zeroes out [OK]
Common Mistakes:
  • Thinking XOR returns the number itself
  • Confusing XOR with OR operation
  • Assuming XOR sums numbers
2. Which of the following is the correct syntax to XOR two variables a and b in JavaScript?
easy
A. a && b
B. a ^ b
C. a xor b
D. a | b

Solution

  1. Step 1: Recall JavaScript bitwise XOR operator

    In JavaScript, the XOR operator is represented by the caret symbol ^.
  2. Step 2: Check each option

    a ^ b uses ^ correctly. a xor b uses 'xor' which is not valid syntax. Options A and D are logical AND and bitwise OR respectively.
  3. Final Answer:

    a ^ b -> Option B
  4. Quick Check:

    Use ^ for XOR in JavaScript [OK]
Hint: Use ^ symbol for XOR in JavaScript [OK]
Common Mistakes:
  • Using 'xor' keyword
  • Confusing XOR with && or ||
  • Using | instead of ^
3. What will be the output of the following code?
const arr = [2, 3, 2, 4, 3];
let result = 0;
for (const num of arr) {
  result ^= num;
}
console.log(result);
medium
A. 2
B. 0
C. 4
D. 3

Solution

  1. Step 1: XOR all elements in the array

    Start with result = 0, then XOR with each element: 0 ^ 2 = 2, 2 ^ 3 = 1, 1 ^ 2 = 3, 3 ^ 4 = 7, 7 ^ 3 = 4.
  2. Step 2: Final XOR result is the non-repeating element

    The only element that does not repeat is 4, which is the final XOR result.
  3. Final Answer:

    4 -> Option C
  4. Quick Check:

    Final XOR = 4 [OK]
Hint: XOR all numbers; result is unique element [OK]
Common Mistakes:
  • Not starting XOR from 0
  • XORing incorrectly in loop
  • Assuming sum instead of XOR
4. Identify the error in the following code that tries to find the non-repeating element using XOR:
const arr = [1, 2, 1, 3, 2];
let result;
for (let i = 0; i < arr.length; i++) {
  result ^= arr[i];
}
console.log(result);
medium
A. Variable 'result' is not initialized to 0
B. Loop condition should be i <= arr.length
C. XOR operator is incorrect, should be &&
D. Array should be sorted before XOR

Solution

  1. Step 1: Check initialization of 'result'

    The variable 'result' is declared but not initialized, so it is undefined initially.
  2. Step 2: Effect of uninitialized 'result' on XOR

    XOR with undefined results in NaN, so the final output will be incorrect. Initializing 'result' to 0 fixes this.
  3. Final Answer:

    Variable 'result' is not initialized to 0 -> Option A
  4. Quick Check:

    Initialize result = 0 before XOR loop [OK]
Hint: Always initialize XOR accumulator to 0 [OK]
Common Mistakes:
  • Not initializing XOR variable
  • Using wrong loop condition
  • Misusing XOR operator
5. Given an array where every element appears three times except one element which appears once, can XOR be used directly to find the unique element? Why or why not?
hard
A. Yes, but only if the array length is odd
B. Yes, XOR works for any number of repetitions
C. No, because XOR requires sorted arrays
D. No, because XOR only cancels pairs of identical numbers

Solution

  1. Step 1: Understand XOR behavior with repeated elements

    XOR cancels out pairs of identical numbers because x ^ x = 0.
  2. Step 2: Analyze effect of triply repeated elements

    Elements repeated thrice do not cancel out with XOR because XOR of three identical numbers is the number itself, not zero.
  3. Step 3: Conclusion on XOR usage

    Therefore, XOR alone cannot find the unique element if others repeat thrice; other methods are needed.
  4. Final Answer:

    No, because XOR only cancels pairs of identical numbers -> Option D
  5. Quick Check:

    XOR cancels pairs, not triples [OK]
Hint: XOR cancels pairs only, not triples [OK]
Common Mistakes:
  • Assuming XOR works for any repetition count
  • Thinking sorting helps XOR
  • Confusing XOR with sum or count
Recommended

Ready to prove it?

Pass the test and this pattern moves unknown strong while earning +1 Grip toward your certificate.

10 questions~5 mineasy hard