Тёмный

L7. Single Number III | Bit Manipulation 

take U forward
Подписаться 677 тыс.
Просмотров 48 тыс.
50% 1

Notes/Codes/Problem links under day 8 of A2Z DSA Course: takeuforward.o...
Follow us on our other social media handles: linktr.ee/take...

Опубликовано:

 

23 сен 2024

Поделиться:

Ссылка:

Скачать:

Готовим ссылку...

Добавить в:

Мой плейлист
Посмотреть позже
Комментарии : 62   
@Lucifer-spam
@Lucifer-spam 6 месяцев назад
There is a small mistake @19:04 rightmost = (xor & (xor - 1)) ^ xor is the correct formula. Very great explanation! 🔥🙌
@shubhrajit2117
@shubhrajit2117 4 месяца назад
Alternatively u can use xor & -xor
@AkOp-bf9vm
@AkOp-bf9vm 3 месяца назад
@@shubhrajit2117 after using this formula did we still need to take XOR as long datatype?? or it will work in int
@siddheshpandey7905
@siddheshpandey7905 3 месяца назад
@@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
@yutubegaming5340 Месяц назад
Same I also thinking that
@amanverma5912
@amanverma5912 6 месяцев назад
The previous way when you code at the end of the video was great. Please continue like that .
@movieskingdom1748
@movieskingdom1748 4 месяца назад
It's ok. He wants to make it language independent ig.
@cosmicthor7330
@cosmicthor7330 2 месяца назад
@@movieskingdom1748 and he might not get c++ viewers also ,bcz most of the time people figure out approach but might face difficulty in coding
@shubhrajit2117
@shubhrajit2117 4 месяца назад
1:20: using hash map (brute force) 6:05: bitwise approach (optimised) 18:05: code for optimised approach
@taqimustafa7665
@taqimustafa7665 6 месяцев назад
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).
@conor8687
@conor8687 3 месяца назад
The clearest explanation I've ever seen for 260 in bit manipulation. Thank you!
@playwithlinux
@playwithlinux 3 месяца назад
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.
@Mojijansari0786
@Mojijansari0786 Месяц назад
at 13:00 by first bit he meant bit at index 1 from back (If any one was confused here)
@amitdahiya7425
@amitdahiya7425 6 месяцев назад
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}; } };
@harshvyas8815
@harshvyas8815 3 месяца назад
class Solution { public: vector singleNumber(vector& nums) { long num =0; for(int i=0;i
@SuvradipDasPhotographyOfficial
@SuvradipDasPhotographyOfficial 2 месяца назад
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.
@HarchitGulati
@HarchitGulati 3 месяца назад
finally felt like old videos of striver are back
@AS-gf3ci
@AS-gf3ci 6 месяцев назад
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}; }
@yaswanthmitta8983
@yaswanthmitta8983 3 месяца назад
but in the video he said to we need to xor it with intial value to get right most set bit
@bhushanthombare1540
@bhushanthombare1540 3 месяца назад
@@yaswanthmitta8983 yeah we have to take as rightMostBitTurnedOne=( (rightMostBitTurnedOne & rightMostBitTurnedOne-1)^rightMostBitTurnedOne )
@sakthivelR-hb9gr
@sakthivelR-hb9gr 4 месяца назад
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
@vishnupandey3390
@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.")
@hardikpatel352
@hardikpatel352 3 месяца назад
(xor & (xor - 1)) ^ xor correction in formula
@stith_pragya
@stith_pragya 5 месяцев назад
Understood........Thank You So Much for this wonderful video.............🙏🏻🙏🏻🙏🏻🙏🏻🙏🏻🙏🏻
@MeenakshiSharma-bd3bu
@MeenakshiSharma-bd3bu 3 месяца назад
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
@someshchincholkar6501
@someshchincholkar6501 Месяц назад
Then rightmost will be 3rd bit(0-based indexing) means differentiating bit will be changed
@swagcoder
@swagcoder 5 месяцев назад
Extremely helpful video. 5:54 just a small correction, there are two repeating numbers, hence m = n/2+2
@adityarathor7456
@adityarathor7456 3 месяца назад
m = (n-2/2) +2 which is equal to n/2 +1
@akshithyadav4676
@akshithyadav4676 6 месяцев назад
Keep code at last as in your old videos ❤🎉
@ce003abhimanyu9
@ce003abhimanyu9 6 месяцев назад
yes that was very ncessary for us please striver sir
@ashmitgupta8039
@ashmitgupta8039 3 месяца назад
Legendary Explanation!!
@a.gcrazy555
@a.gcrazy555 3 месяца назад
How can we think off such solutions . There is only one method we have to learn this solution for this particular question ig.
@Gg69696
@Gg69696 2 месяца назад
U R the king striver !!
@AanganwadiGuriya
@AanganwadiGuriya 4 месяца назад
for rightmost xor&(-xor) will do I think
@DeadPoolx1712
@DeadPoolx1712 День назад
UNDERSTOOD;
@yunik_developer
@yunik_developer 5 месяцев назад
19:06 there is a writing mistake the formula is rightmost= ((original-numb & (original-numb-1)^original-numb)
@challasusmithachallasusmit9921
@challasusmithachallasusmit9921 4 месяца назад
UNDERSTOOD Thank you so much sir
@shreyxnsh.14
@shreyxnsh.14 5 месяцев назад
why are people asking for code?? It is literally the same as the pseudocode he has written.
@animeshkumar2683
@animeshkumar2683 28 дней назад
understood
@UECAshutoshKumar
@UECAshutoshKumar 6 месяцев назад
Thank you 😊
@ManojkumarKatta
@ManojkumarKatta 5 месяцев назад
mind blowing logic
@wojtekgaming7
@wojtekgaming7 2 месяца назад
Can someone explain me how 14 and 4 got seperated and how we are checking rightmost bit pls do explain
@madhu_mohanreddy
@madhu_mohanreddy 2 месяца назад
we dont seperate 14 and 4 .xorr = xorr^arr[i] 14 and 4 gets xor , and (xorr&xorr-1)^xorr
@dipanshuraj7868
@dipanshuraj7868 29 дней назад
Anyone is here that, it happens to me or others that the optimised approach is too tough using hashmap is simple, down and dusted.
@AdiCode_Hub
@AdiCode_Hub 3 месяца назад
XOR them as you get (naa hindi word ), ❤❤
@Learnprogramming-q7f
@Learnprogramming-q7f 5 месяцев назад
thank you Bhaiya
@codingp110
@codingp110 2 месяца назад
Awesome!
@shashankgsharma0901
@shashankgsharma0901 2 месяца назад
Understood!
@Rahulyadav-sd3oj
@Rahulyadav-sd3oj 6 месяцев назад
Thank u sir
@AanganwadiGuriya
@AanganwadiGuriya 4 месяца назад
thanks !
@hardikpatel352
@hardikpatel352 3 месяца назад
Understood
@jjjyotijain
@jjjyotijain 6 месяцев назад
understood 🤩
@dayashankarlakhotia4943
@dayashankarlakhotia4943 6 месяцев назад
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; } 🎉❤
@SAACHIPANDEY
@SAACHIPANDEY 5 месяцев назад
9:40
@pranavmisra5870
@pranavmisra5870 4 месяца назад
This is goldddd
@_The_-_worst_
@_The_-_worst_ 6 месяцев назад
Once Again Make playlist or videos for Competitive programming because I have completed your dsa series 😊
@NitinSharma-qx4ff
@NitinSharma-qx4ff 6 месяцев назад
once again, the world doesn't revolve around you bro
@vidhanpatni8338
@vidhanpatni8338 8 дней назад
13:28 "FUCK"
@varun1017
@varun1017 6 месяцев назад
1st
@Shivi32590
@Shivi32590 2 месяца назад
understood
@pardhi8959
@pardhi8959 6 месяцев назад
understood.
Далее
L6. Single Number II | Bit Manipulation
31:19
Просмотров 46 тыс.
МУЖСКИЕ ДУХИ
00:33
Просмотров 149 тыс.
Is Computer Science still worth it?
20:08
Просмотров 236 тыс.
Making an Algorithm Faster
30:08
Просмотров 61 тыс.
L5. Single Number-I | Bit Manipulation
7:12
Просмотров 36 тыс.
iPhone 16 Ultimate Battery Test!
13:25
Просмотров 3,4 млн
LeetCode was HARD until I Learned these 15 Patterns
13:00