Notes/Codes/Problem links under day 8 of A2Z DSA Course: takeuforward.o... Follow us on our other social media handles: linktr.ee/take...
Пікірлер: 63
@Lucifer-spam6 ай бұрын
There is a small mistake @19:04 rightmost = (xor & (xor - 1)) ^ xor is the correct formula. Very great explanation! 🔥🙌
@shubhrajit21174 ай бұрын
Alternatively u can use xor & -xor
@AkOp-bf9vm3 ай бұрын
@@shubhrajit2117 after using this formula did we still need to take XOR as long datatype?? or it will work in int
@siddheshpandey79053 ай бұрын
@@AkOp-bf9vm Yes, you need to use long because when xor is -2^31 then -xor=2^31 which is more than INT_MAX
@yutubegaming5340Ай бұрын
Same I also thinking that
@HarchitGulati4 ай бұрын
finally felt like old videos of striver are back
@amanverma59126 ай бұрын
The previous way when you code at the end of the video was great. Please continue like that .
@movieskingdom17484 ай бұрын
It's ok. He wants to make it language independent ig.
@cosmicthor73302 ай бұрын
@@movieskingdom1748 and he might not get c++ viewers also ,bcz most of the time people figure out approach but might face difficulty in coding
@shubhrajit21174 ай бұрын
1:20: using hash map (brute force) 6:05: bitwise approach (optimised) 18:05: code for optimised approach
@Mojijansari0786Ай бұрын
at 13:00 by first bit he meant bit at index 1 from back (If any one was confused here)
@taqimustafa76656 ай бұрын
Great work again Striver! I wouldnt have ever tried learning DSA if i had never ran onto your channel. It is a request that you please make the string playlist next whenever you have free time(ik its hard to find time alongside doing a fulltime job,but you still do so much for us so thanks a lot).
@sakthivelR-hb9gr4 ай бұрын
There is an mistake @19:04 it's not rightMost = (xor & (xor - 1)) & (xor); => rightMost = (xor & (xor - 1)) ^ (xor); or rightMost = xor & -xor is efficent way
@harshvyas88154 ай бұрын
class Solution { public: vector singleNumber(vector& nums) { long num =0; for(int i=0;i
@amitdahiya74256 ай бұрын
C++ code with comments for better understanding class Solution { public: vector singleNumber(vector& nums) { // brute force using map // optimised using bit manipulation bucket // approach : we know that all duos xor will be 0 and the unique 2 elements xor will contain // nothing but a number which contain bits which are not same in both long long numXor=0; for(auto it:nums)numXor^=it; // now we need to distinguish both the numbers // and xor contains all the bits which are not same in both , we just need one different bit // taking the rightmost one is fine long long rightBit= numXor ^ (numXor &(numXor-1)); // now take 2 bucket integer which store numbers based on this rightBit int a=0,b=0; for(auto it:nums){ // if right bit is set if(it&rightBit)a^=it; else b^=it; } return {a,b}; } };
@vishnupandey3390Ай бұрын
here is my python3 code for the given problem 👇 nums=list(map(int,input("Enter the list : ").split(" "))) xor=0 for ele in nums: xor=xor^ele bitmask=xor&(xor-1) bitmask=bitmask^xor num1=0 num2=0 for ele in nums: if bitmask&ele: num1=num1^ele else: num2=num1^ele print(num1,"and",num2,"are the unique numbers out there in the list.")
@dayashankarlakhotia49436 ай бұрын
public int singleNumber (int[]nums){ int xor=Arrays.stream(nums).reduce((a,b)->a^b).getAsInt(); int mask=xor& ~(xor-1); int[]ans=new int[2]; for(int num:nums){ if((num&mask)>0) ans[0]^=num; else ans[1]^=num; } return ans; } 🎉❤
@MeenakshiSharma-bd3bu3 ай бұрын
what if we get 4,8 both as unique no. appearing ones only , than they will go to the same bucket ...4^8 in bucket 2
@someshchincholkar65012 ай бұрын
Then rightmost will be 3rd bit(0-based indexing) means differentiating bit will be changed
@SURENDRANATHJAMBUGARI3 күн бұрын
Thank you bro for clearing the bits manipulation concept
@playwithlinux3 ай бұрын
So nice of you Striver... THANK you so much for this type of content... Even words wouldn't be enough for that. Thanks a million.
@hardikpatel3523 ай бұрын
(xor & (xor - 1)) ^ xor correction in formula
@dipanshuraj7868Ай бұрын
Anyone is here that, it happens to me or others that the optimised approach is too tough using hashmap is simple, down and dusted.
@shreyxnsh.145 ай бұрын
why are people asking for code?? It is literally the same as the pseudocode he has written.
@conor86874 ай бұрын
The clearest explanation I've ever seen for 260 in bit manipulation. Thank you!
@stith_pragya5 ай бұрын
Understood........Thank You So Much for this wonderful video.............🙏🏻🙏🏻🙏🏻🙏🏻🙏🏻🙏🏻
@akshithyadav46766 ай бұрын
Keep code at last as in your old videos ❤🎉
@ce003abhimanyu96 ай бұрын
yes that was very ncessary for us please striver sir
@yunik_developer5 ай бұрын
19:06 there is a writing mistake the formula is rightmost= ((original-numb & (original-numb-1)^original-numb)
@SuvradipDasPhotographyOfficial3 ай бұрын
The best explanation ever. The previous one's last solution blew me away... Amazing Striver, done with Bit manipulation today. Will start greedy from Monday. Hope you sgtart the string and stacks queues playlist soon.
@a.gcrazy5553 ай бұрын
How can we think off such solutions . There is only one method we have to learn this solution for this particular question ig.
@AS-gf3ci6 ай бұрын
vector singleNumber(vector& nums) { long xorr = 0; //Taking xorr as long for the case of INT_MIN in nums[i] for(auto &it : nums) xorr ^= it; int rightMostBitTurnedOne = xorr & (-xorr); int b1 = 0, b2 = 0; //b1 --> 1st bit is set || b2 --> 1st bit is 0 for(auto &it : nums) { if(it & rightMostBitTurnedOne) b1 ^= it; else b2 ^= it; } return {b1, b2}; }
@yaswanthmitta89834 ай бұрын
but in the video he said to we need to xor it with intial value to get right most set bit
@bhushanthombare15403 ай бұрын
@@yaswanthmitta8983 yeah we have to take as rightMostBitTurnedOne=( (rightMostBitTurnedOne & rightMostBitTurnedOne-1)^rightMostBitTurnedOne )
@AdiCode_Hub3 ай бұрын
XOR them as you get (naa hindi word ), ❤❤
@DeadPoolx17127 күн бұрын
UNDERSTOOD;
@AanganwadiGuriya4 ай бұрын
for rightmost xor&(-xor) will do I think
@SAACHIPANDEY5 ай бұрын
9:40
@vidhanpatni833814 күн бұрын
13:28 "FUCK"
@wojtekgaming72 ай бұрын
Can someone explain me how 14 and 4 got seperated and how we are checking rightmost bit pls do explain
@madhu_mohanreddy2 ай бұрын
we dont seperate 14 and 4 .xorr = xorr^arr[i] 14 and 4 gets xor , and (xorr&xorr-1)^xorr
@animeshkumar2683Ай бұрын
understood
@challasusmithachallasusmit99215 ай бұрын
UNDERSTOOD Thank you so much sir
@swagcoder5 ай бұрын
Extremely helpful video. 5:54 just a small correction, there are two repeating numbers, hence m = n/2+2
@adityarathor74564 ай бұрын
m = (n-2/2) +2 which is equal to n/2 +1
@UECAshutoshKumar6 ай бұрын
Thank you 😊
@Gg696962 ай бұрын
U R the king striver !!
@ashmitgupta80393 ай бұрын
Legendary Explanation!!
@shashankgsharma09012 ай бұрын
Understood!
@Shivi325902 ай бұрын
understood
@hardikpatel3523 ай бұрын
Understood
@codingp1102 ай бұрын
Awesome!
@Learnprogramming-q7f5 ай бұрын
thank you Bhaiya
@pranavmisra58704 ай бұрын
This is goldddd
@AanganwadiGuriya4 ай бұрын
thanks !
@pardhi89596 ай бұрын
understood.
@ManojkumarKatta5 ай бұрын
mind blowing logic
@varun10176 ай бұрын
1st
@jjjyotijain6 ай бұрын
understood 🤩
@Rahulyadav-sd3oj6 ай бұрын
Thank u sir
@_The_-_worst_6 ай бұрын
Once Again Make playlist or videos for Competitive programming because I have completed your dsa series 😊
@NitinSharma-qx4ff6 ай бұрын
once again, the world doesn't revolve around you bro