XOR Operation in an Array

Given an integer n and an integer start.

Define an array nums where nums[i] = start + 2*i (0-indexed) and n == nums.length.

Return the bitwise XOR of all elements of nums.

Example 1:

Input: n = 5, start = 0
Output: 8
Explanation: Array nums is equal to [0, 2, 4, 6, 8] where (0 ^ 2 ^ 4 ^ 6 ^ 8) = 8.
Where "^" corresponds to bitwise XOR operator.

Example 2:

Input: n = 4, start = 3
Output: 8
Explanation: Array nums is equal to [3, 5, 7, 9] where (3 ^ 5 ^ 7 ^ 9) = 8.

Example 3:

Input: n = 1, start = 7
Output: 7

Example 4:

Input: n = 10, start = 5
Output: 2

 

Constraints:

  • 1 <= n <= 1000
  • 0 <= start <= 1000
  • n == nums.length
 class Solution {
    public int xorOperation(int n, int start) {
        int i = 1, result = 0;
        while(i<=n){
            result ^= start;
            start+=2;
            i++;
        }
        return result;
    }
}

Here, we are going to solve using using XOR operator. In the problem, they clearly mentioned, that start increased by 2 and also we need to iterate till n numbers from start.

1) Initialize i as 1, result as 0.
2) Iterate i till n times, while iterating, each time increase start by 2, i by 1 and do XOR operation with result and again store it in result.
3) Finally return result.


Click Follow button to receive updates from us instantly.

Please let us know about your views in comment section.

                                                     😍..Happy Coding...😍

Comments

Popular posts from this blog

Balanced Binary Tree

First Unique Character in a String

Majority Element

Smallest Range II