Skip to main content

Find The Original Array of Prefix Xor | Leetcode 2433

 You are given an integer array pref of size n. Find and return the array arr of size n that satisfies:

  • pref[i] = arr[0] ^ arr[1] ^ ... ^ arr[i].

Note that ^ denotes the bitwise-xor operation.

It can be proven that the answer is unique.

 

Example 1:

Input: pref = [5,2,0,3,1]
Output: [5,7,2,3,2]
Explanation: From the array [5,7,2,3,2] we have the following:
- pref[0] = 5.
- pref[1] = 5 ^ 7 = 2.
- pref[2] = 5 ^ 7 ^ 2 = 0.
- pref[3] = 5 ^ 7 ^ 2 ^ 3 = 3.
- pref[4] = 5 ^ 7 ^ 2 ^ 3 ^ 2 = 1.

Example 2:

Input: pref = [13]
Output: [13]
Explanation: We have pref[0] = arr[0] = 13.

 

Constraints:

  • 1 <= pref.length <= 105
  • 0 <= pref[i] <= 106

solution :

Hint :
if a xor b = c
then a xor c = b
and also b xor c = a


class Solution {
public:
    vector<int> findArray(vector<int>& pref) {
     
          int size = pref.size();
          vector<int>arr;
          for(int i =0 ; i < size ; i++)
          {
              if(i ==0)
              {
                  arr.push_back(pref[i]);
              }
              else
              {
                  arr.push_back(pref[i] ^ pref[i-1]);
              }
          }
          return arr;
    }
};



Comments

Popular posts from this blog

Root to Leaf Paths | binary tree | geeksforgeeks solution

  Root to Leaf Paths Given a Binary Tree of size N, you need to find all the possible paths from root node to all the leaf node's of the binary tree. Example 1: Input: 1 / \ 2 3 Output: 1 2 #1 3 # Explanation: All possible paths: 1->2 1->3 Example 2: Input:   10   / \   20 30   / \   40 60 Output: 10 20 40 #10 20 60 #10 30 # Your Task: Your task is to complete the function  Paths()  that takes the root node as an argument and return all the possible path. (All the path are printed '#' separated by the driver's code.) Note:  The return type cpp:  vector java:  ArrayList> python:  list of list Expected Time Complexity:  O(N). Expected Auxiliary Space:  O(H). Note:  H is the height of the tree. Constraints: 1<=N<=10 3 Note:  The  Input/Ouput  format and  Example  given, are used for the system'...

[PDF DOWNLOAD] AKTU Quantum series data structure b.tech 2nd year download

  All AKTU Quantums are available here. Get your hands on AKTU Quantums and boost your grades in AKTU semester exams. You can either search them category wise or can use the search bar or can manually search on this page. Download aktu second year quantum pdf data structures  download  data structures quantum aktu download aktu data structures quantum click here to download  write in comment section if you want quantum of any other subject.

Leetcode problem 1493 solution

  1493 .   Longest Subarray of 1's After Deleting One Element Given a binary array  nums , you should delete one element from it. Return  the size of the longest non-empty subarray containing only  1 's in the resulting array . Return  0  if there is no such subarray.   Example 1: Input: nums = [1,1,0,1] Output: 3 Explanation: After deleting the number in position 2, [1,1,1] contains 3 numbers with value of 1's. Example 2: Input: nums = [0,1,1,1,0,1,1,0,1] Output: 5 Explanation: After deleting the number in position 4, [0,1,1,1,1,1,0,1] longest subarray with value of 1's is [1,1,1,1,1]. Example 3: Input: nums = [1,1,1] Output: 2 Explanation: You must delete one element.   Constraints: 1 <= nums.length <= 10 5 nums[i]  is either  0  or  1 . Solution:  class Solution { public :     int longestSubarray(vector< int >& nums) {         int previous_sum = 0 ;   ...