Leetcode 29 - Bit Manipulation | Divide Two Integers

  Рет қаралды 60,713

Nideesh Terapalli

Nideesh Terapalli

Күн бұрын

Topic: Bit Manipulation
Code:
github.com/Nideesh1/Algo/blob...
Leetcode:
leetcode.com/problems/divide-...
Note I claim no rights to this question. All rights belong to Leetcode. If I'm reviewing a solution that was from another Leetcode user or Leetcode itself I will give credit below.
Credit to : Leetcode User lee215 | leetcode.com/problems/divide-...
Hey there! Just wanted to let you know that some of the below links in this video description are affiliate links, which means that if you make a purchase through them, I may earn a small commission. Don't worry though, it doesn't cost you anything extra and it helps support this channel so I can continue to make more videos for you. Thank you so much for your support, and as always, all opinions are my own!
Start getting great at system design: bytebytego.com?fpr=nideesh (affiliate link)
Handpicked Algorithms and Data Structures for Interview To Save Time: interviewpen.com/?via=nideesh

Пікірлер: 135
@saideepesh6036
@saideepesh6036 4 жыл бұрын
Didn't expect that accent when seeing that thumbnail
@user-co6rg9jt9x
@user-co6rg9jt9x 3 жыл бұрын
xD
@user-bl5qv3jy1l
@user-bl5qv3jy1l 3 жыл бұрын
Indians teach all of us
@saurabhchaturvediscientist
@saurabhchaturvediscientist 3 жыл бұрын
That was a really succinct yet comprehensive explanation - thanks! Just subscribed!
@srinish1993
@srinish1993 4 жыл бұрын
My initial approach to solve this LC question, derived from repeated substraction(but in my mind, i had a feeling as this would take long amount time, if say dividend is closer to Integer.MAX_VALUE), but anyways I continued with my solution, started submitting on leetcode console. At this point i started handling the negative divisior or divisor possibilities and even the finest edge case of Integer.MIN_VALUE as dividend. But as always, for one such input my solution timed out. With low lying head, i headed towards the discussions tab and found soln by lee215. I attempted to understand his solution but failed. Later bumped into your video in one of the comments. Hats off man, you explained really smooth. I like your calmness in most of your vids and your approach to gather intuition is very rare among all interview-algo-youtubers. Keep grinding
@NideeshTerapalli
@NideeshTerapalli 4 жыл бұрын
Thanks Srinish. Yeah lee215 is very good!
@bellydancingwithsrishticho7245
@bellydancingwithsrishticho7245 2 жыл бұрын
Amazingly explained! The first two minutes are itself enough to get the solution clear.. Thank you so much.
@NideeshTerapalli
@NideeshTerapalli 2 жыл бұрын
My pleasure Srishti
@Lioran90
@Lioran90 3 жыл бұрын
Good work! explained it well, with examples during the video. Keep on!
@vyomyadav6497
@vyomyadav6497 2 жыл бұрын
You were looking nervous but good work, best explanation video for the topic imo.
@Veronica-vq5iz
@Veronica-vq5iz 2 жыл бұрын
Thank you so much for this, I watched a number of videos but they confused me even more. First 2 min of your video I got the approach, also the way you explained your code is also very simple & understandable.
@zr60
@zr60 2 жыл бұрын
Can you explain the intuition behind the multiplication by 2? Or do you just take it for what it is and hope it magically come up to you next time you try to solve the problem?
@zr60
@zr60 2 жыл бұрын
I just realized that his explanation was wrong for the doubling
@anuj-ut9fo
@anuj-ut9fo 3 жыл бұрын
hi i am a first INFT student and i wasn't sure how to do this sum but after you explained it got easier thank u
@priyanshuagarwal5571
@priyanshuagarwal5571 3 жыл бұрын
Well, I tried many sites to understand this concept, but I did not get them. But after seeing this video I completely understood the solution. Thank you so much!
@NideeshTerapalli
@NideeshTerapalli 3 жыл бұрын
my pleasure
@theunknownguy354
@theunknownguy354 Жыл бұрын
That was a really succinct yet comprehensive explanation - thanks! Just subscribed! + 1
@techgamer4291
@techgamer4291 7 ай бұрын
Very clear and concise explanation . Thank you .
@challasaikiran
@challasaikiran 3 жыл бұрын
Nicely explained. Thank you Nideesh.
@sandeeppattanayak5131
@sandeeppattanayak5131 3 жыл бұрын
Hey that was a really nice explanation. I was wondering about the edge case where dividend is INT_MIN but divisor is not -1. In that case, the code would simply take Math.abs over dividend and divisor and proceed, but abs(INT_MIN) would again overflow, leading to a potential issue. Am I missing something here ? PS: I saw a previous comment of yours where you explained how its handled in Java. I am using Cpp though. Is it handled the same way there too ? I tried with a cout
@partheshsoni6421
@partheshsoni6421 4 жыл бұрын
Very nice explanation. Thanks a lot!
@abhitripathi
@abhitripathi Жыл бұрын
Well Explained, Thank you
@dimpleshah6538
@dimpleshah6538 3 жыл бұрын
Very nice explanation! Thanks!
@vishalmishra1937
@vishalmishra1937 3 жыл бұрын
in inner while loop why there is b
@phaniaditya6020
@phaniaditya6020 4 жыл бұрын
You are awesome..please keep posting good content
@shen8015
@shen8015 4 жыл бұрын
dividend = 2147483647 divisor = 1 there may be an overflow for "while (a - (b
@NarenRSKumar
@NarenRSKumar 5 ай бұрын
@NiddeshTerapalli Can you please comment on this ?
@PrafulPrasad
@PrafulPrasad 4 жыл бұрын
well I would say I was able to solve this question in a competitive programming arena using this video so its good.
@parassetia4964
@parassetia4964 2 жыл бұрын
one of the best explanation I have got, thanks a lot mam. It was really amazing one
@knyto2
@knyto2 4 жыл бұрын
I couldn't find a good explanation for the shifting the divisor logic, but I'm glad I found your video
@NideeshTerapalli
@NideeshTerapalli 4 жыл бұрын
Hope it was useful knyto2
@vidyamc4340
@vidyamc4340 3 жыл бұрын
can you please explain the time complexity how O(log n^2)?
@jianwenliu458
@jianwenliu458 4 жыл бұрын
This is so clear, thank you
@NideeshTerapalli
@NideeshTerapalli 4 жыл бұрын
You're welcome
@AbhishekKumar-yv6ih
@AbhishekKumar-yv6ih 4 жыл бұрын
Your videos are very good. Your voice make it better. I like your voice.
@dheerajpoonia2175
@dheerajpoonia2175 4 жыл бұрын
Very short and accurate explanation sir
@kevinjohn553
@kevinjohn553 Жыл бұрын
Good explanation king
@RA-eg8tw
@RA-eg8tw 3 жыл бұрын
Your channel is amazing
@abcd12272
@abcd12272 3 жыл бұрын
Great solution! What is the time complexity of this solution?
@amit250698
@amit250698 4 жыл бұрын
Please tell the time complexity of this solution
@yunwang8635
@yunwang8635 5 жыл бұрын
Excellent explanation
@b747
@b747 4 жыл бұрын
Hey, nice video... keep it up with the great work. I will be subscribing.
@NideeshTerapalli
@NideeshTerapalli 4 жыл бұрын
Thank you
@pashwajain687
@pashwajain687 4 жыл бұрын
Thanks a lot for the clear explanation !
@NideeshTerapalli
@NideeshTerapalli 4 жыл бұрын
welcome
@naveenminhas7524
@naveenminhas7524 2 жыл бұрын
thanks bro, just got the solution after 1:30 minute watching this video
@NideeshTerapalli
@NideeshTerapalli Жыл бұрын
Hey there! Just wanted to let you know that some of the links in this comment are affiliate links, which means that if you make a purchase through them, I may earn a small commission. Don't worry though, it doesn't cost you anything extra and it helps support this channel so I can continue to make more videos for you. Thank you so much for your support, and as always, all opinions are my own! Start getting great at system design: bytebytego.com?fpr=nideesh (affiliate link) Handpicked Algorithms and Data Structures for Interview To Save Time: interviewpen.com/?via=nideesh
@subramaniamseshadri9347
@subramaniamseshadri9347 4 жыл бұрын
Thanks for this!
@pranjlisingh6490
@pranjlisingh6490 3 жыл бұрын
Thank u for clear explanation
@tejas230
@tejas230 3 жыл бұрын
Nice explanation!
@farabikurmanshady8486
@farabikurmanshady8486 4 жыл бұрын
Thanks for excellent explanation!
@NideeshTerapalli
@NideeshTerapalli 4 жыл бұрын
Thank you
@yuxinwu98
@yuxinwu98 4 жыл бұрын
Very clear explanation, thx!
@NideeshTerapalli
@NideeshTerapalli 4 жыл бұрын
You're welcome!
@zeus433
@zeus433 3 жыл бұрын
what is res?
@wukunliu1714
@wukunliu1714 3 жыл бұрын
nice solution + nice watch :P
@sidhantakumarpattnaik2962
@sidhantakumarpattnaik2962 4 жыл бұрын
Great thanks for such clear explanation
@NideeshTerapalli
@NideeshTerapalli 4 жыл бұрын
You're welcome Sidhanta
@timotheel67
@timotheel67 4 жыл бұрын
When the input are 2147483647 and 1, this solution wont work as b
@swagatdas1991
@swagatdas1991 4 жыл бұрын
Nice explaining dude, please keep posting videos.
@swagatdas1991
@swagatdas1991 3 жыл бұрын
@@sandeeppattanayak5131 lel
@sandeeppattanayak5131
@sandeeppattanayak5131 3 жыл бұрын
I was wondering about the edge case where dividend is INT_MIN but divisor is not -1. In that case, the code would simply take Math.abs over dividend and divisor and proceed, but abs(INT_MIN) would again overflow, leading to a potential issue. Am I missing something here ?
@lalitkumarmehta6026
@lalitkumarmehta6026 4 жыл бұрын
thanks a lot bro. keep posting more videos.
@NideeshTerapalli
@NideeshTerapalli 4 жыл бұрын
Thanks for you encouragement!
@b747
@b747 3 жыл бұрын
#solid answer. I will subscribe for more. Thanks
@Sushil2874
@Sushil2874 4 жыл бұрын
Nice explanation..!!
@Chesstreamer
@Chesstreamer 4 жыл бұрын
great explanation
@harshithalingapalem9268
@harshithalingapalem9268 6 күн бұрын
I don't understand why the edge case See I convert -2^32 to abs and store it in a long int Like long int x = labs(dividend) Continue the whole division The place where I'm storing the ans is also long So, I am not giving it a scope to overflow Yet, I don't understand why after the while loops, the ans turns out -2^32 While it has to be +2^32-- because of the usage of labs and long Why is it not working!?! In my mind it should!!
@Singh11225
@Singh11225 5 жыл бұрын
what happens when a = 2147483647 & b = 2 (10 in binary) I found out that a - (b
@NideeshTerapalli
@NideeshTerapalli 5 жыл бұрын
Hi so when a = 2147483647 & b = 2 then expression a - (b
@BullishBuddy
@BullishBuddy 4 жыл бұрын
nicely done
@rajeevsawant6350
@rajeevsawant6350 3 жыл бұрын
Great solution!! could you share TimeComplexity & Space Complexity for your solution ?
@rudreshdixit8368
@rudreshdixit8368 3 жыл бұрын
Best explanation
@vinnivarma1555
@vinnivarma1555 3 жыл бұрын
How does abs(INT_MIN) fit in int?
@kartikkesarwani1320
@kartikkesarwani1320 3 жыл бұрын
it doesn't so returns same INT_MIN
@jayshekarharkar8119
@jayshekarharkar8119 4 жыл бұрын
Thank you, @Nideesh Terapalli for the video. I think an edge case with negatives is not covered in the final return. Return positive result when either both dividend and divisor are greater than or equal to 0 or less than 0 i.e. it should look something like "return (dividend >= 0 && divisor >= 0) || (dividend < 0 && divisor < 0) ? result : -1 * result;
@NideeshTerapalli
@NideeshTerapalli 4 жыл бұрын
jayshekar harkar yes your return logic looks correct
@adishgarg5297
@adishgarg5297 4 жыл бұрын
@@NideeshTerapalli it should be xor instead of or
@kunalkumarbarman9610
@kunalkumarbarman9610 3 жыл бұрын
Bro your explanation is nice , but it gives Integer overflow error in c++.
@adityasinghal323
@adityasinghal323 4 жыл бұрын
why you left shifted x by 1 before adding it to res?
@NideeshTerapalli
@NideeshTerapalli 4 жыл бұрын
Yeah so let's look at this part of the code: int x = 0 while( a - (b
@adityasinghal2707
@adityasinghal2707 4 жыл бұрын
Thanks a lot for this clear explanation!
@lucaguarro6116
@lucaguarro6116 3 жыл бұрын
Isn't that last line not abiding by the rules since it uses multiplication by -1 ?
@lucaguarro6116
@lucaguarro6116 3 жыл бұрын
I guess we could just do 0 - result so sorry kind of a dumb question lol
@techmarcs
@techmarcs 4 жыл бұрын
Impressive! Thanks. Can you by any chance guide on how to find the time complexity of this solution? Thanks!
@NideeshTerapalli
@NideeshTerapalli 4 жыл бұрын
Good question. I hadn't thought of that till now. But let me try to deduce how lee215's solution has a O (log (n^2)) time complexity. Let's say for example, we had an array of length n. A doubly nested for loop that looks like the following would have a time complexity of O(n^2): for(int i = 0; i < n; i++){ for(int j = 0; j < i; j++){ //... } } Similarly, the code I'm running is doing the following: Let's say a is 100, b is 2,4,8,16,32,64, stopping before 100. while( a - (b
@techmarcs
@techmarcs 4 жыл бұрын
Thanks!
@radoonhadoon
@radoonhadoon 3 жыл бұрын
It is giving TLE on while( a - (b
@shubhamsood1406
@shubhamsood1406 3 жыл бұрын
The same error is showing in my case also. Did you able to correct that error?
@Animelover-ds9vg
@Animelover-ds9vg 3 жыл бұрын
it's better if you explain pseudo code. We don't want the solution we need an explanation so that we can implement it by ourselves. Thanks
@IsomerMashups
@IsomerMashups 3 жыл бұрын
I get it when you explain it, but I couldn't come up with it on my own. :(
@youmnaelghandoor1165
@youmnaelghandoor1165 4 жыл бұрын
Hi Thank you so much for that amazing explanation. There is something that I'd like to ask... Why don't we write " while( a-(b
@NideeshTerapalli
@NideeshTerapalli 4 жыл бұрын
Hi Youmna you're very welcome. So when I ran the code with : int x = 1; while( a - (b = 0){ x++; } For an input of: 10(dividend), 3 ( divisor) i'm getting an output of 2 (quotient) which is different from the expected result of 3. This happening because x is getting incremented to 2. When x is incremented to 2 and we shift b, by doing b
@youmnaelghandoor1165
@youmnaelghandoor1165 4 жыл бұрын
@@NideeshTerapalli Aha great, I have been trying to understand this for so long. Thank you so much !
@lostgen36
@lostgen36 3 жыл бұрын
@@NideeshTerapalli Thanks for the explanation, was confused at this part.
@setukumarbasak6729
@setukumarbasak6729 3 жыл бұрын
As the abs of INT_MIN is INT_MIN i.e. abs(-2147483648) = -2147483648, it will create a problem in the following scenario. Dividend: -2147483648 Divisor: -10000000 In the above case, your code won't return anything. It will throw TLE though the correct output should be 124. Should we handle this case separately?
@kk.engineer
@kk.engineer 3 жыл бұрын
This program handles your scenario(C++): int divide(int dividend, int divisor) { if(dividend==INT_MIN && divisor==-1) return INT_MAX; if(dividend==INT_MIN && divisor==1) return INT_MIN; long a=abs(dividend); long b=abs(divisor); int result=0; while((a-b)>=0) { int x=0; //for shifting the bit to left while(x
@xiaojunli8704
@xiaojunli8704 5 жыл бұрын
Could you please explain a bit about how the solution works? I am confused about: int a = Math.abs(dividend); int b = Math.abs(divisor); The result of a is possible overflow, for example, dividend = Integer.MIN_VALUE.
@NideeshTerapalli
@NideeshTerapalli 5 жыл бұрын
Sure let me explain. There is only 1 overflow case we have to worry about when dividend is Integer.MIN_VALUE. This happens when divisor is -1. I drew this in the video as the edge case. When dividend is -2147483648 and divisor is -1, then quotient should theoretically be 2147483648. However is not possible as Integer.MAX_VALUE is 2147483647 then we have overflow. The code that takes care of this is if(dividend == Integer.MIN_VALUE && divisor == -1){ return Integer.MAX_VALUE; } In any other case, the quotient will not overflow. If divisor is 1, then quotient will be dividend itself. If divisor has an absolute value greater than 1, quotient will not overflow. Examples: -2147483648 / -1 => Edge case -2147483648 / 1 => Integer.MIN_VALUE -2147483648 / 2 => 1073741824 -2147483648 / 2 => -1073741824 I am taking Math.abs() for dividend and divisor because I want to do division without worrying about the sign of the numbers and work with their absolute values. At the end, I return the quotient positive or negative
@xiaojunli8704
@xiaojunli8704 5 жыл бұрын
@@NideeshTerapalli Hi, thanks for the quick response and also the detailed answer. I understood the purpose of using Math.abs(), but you haven't explained how to handle this case: Math.abs(-2147483648) = -2147483648. Obviously, the result is an overflow. I think it's related to some kind of Bit manipulation, but I don't quite understand. Could you share your thoughts?
@v.yundin
@v.yundin 5 жыл бұрын
​@@xiaojunli8704 I have spend some time and figured out why this should work with -2^31. The point is we expect that Math.abs(-2147483648) returning 2147483648 and this is exactly what happening if we are looking at bits of int. 2147483648 in binary representation is 1 and 31 zeros after and this is how Integer.MIN_VALUE looks in java, just leading 1 is a sign of number. And since we working with bits here, algorithm is correct.
@xiaojunli8704
@xiaojunli8704 5 жыл бұрын
@@v.yundin Thank you, I think you answered my question! In other word, we treat -2147483648 as the unsigned number of 2147483648.
@NideeshTerapalli
@NideeshTerapalli 5 жыл бұрын
​@@xiaojunli8704 Hey sorry about that I didn't check your follow up comment till today. I guess I misunderstood what you were asking. @Vladislav Yundin thanks for explaining it in such a clear way. I'll elaborate a bit on what Vlad is saying. We know that Math.abs(-2147483648) should return 2147483648. In regular binary 2147483648 is represented as 10 00000 00000 00000 00000 00000 00000. However, when Java sees this, it will see that there is a most significant bit 1. And see that it is looking at a negative number. This is because java takes 'int' in two's complement. Hence, Math.abs(-2147483648) = -2147483648. "int: Int data type is a 32-bit signed two's complement integer" -stackoverflow.com/questions/13422259/how-are-integers-internally-represented-at-a-bit-level-in-java P.S. I think I should start a twitter or something so people can tweet me directly their questions/clarifications. KZbin doesn't show me all the notifications
@cynthiac1968
@cynthiac1968 4 жыл бұрын
Since Math.abs(-2147483648) = -2147483648, could you please explain more about what will happen when the divisor is not -1? In my java, this will lead to the wrong result.
@NideeshTerapalli
@NideeshTerapalli 4 жыл бұрын
@Cynthia C Hey, so when the divisor is not -1, it could be more negative or more positive. Can you tell me the dividend/divisor combination you are using? -2147483648 / -1 => Edge case -2147483648 / 1 => Integer.MIN_VALUE -2147483648 / -2 => 1073741824 -2147483648 / 2 => -1073741824 We know that Math.abs(-2147483648) should return 2147483648. In regular binary 2147483648 is represented as 10 00000 00000 00000 00000 00000 00000. However, when Java sees this, it will see that there is a most significant bit 1. And see that it is looking at a negative number. This is because java takes 'int' in two's complement. Hence, Math.abs(-2147483648) = -2147483648. "int: Int data type is a 32-bit signed two's complement integer" -stackoverflow.com/questions/13422259/how-are-integers-internally-represented-at-a-bit-level-in-java
@davidlawrence1398
@davidlawrence1398 4 жыл бұрын
@@NideeshTerapalli But regardless of the value of the divisor - Math.abs(-2147483648) will overflow - you've only intercepted the case where the divisor is -1
@NideeshTerapalli
@NideeshTerapalli 4 жыл бұрын
@@davidlawrence1398 Hi David. Are you referring to: -1 * Math.abs(-2147483648) ?
@harveycrimsond3947
@harveycrimsond3947 4 ай бұрын
Expected Gowardhan when I clicked, found Gordon instead.
@NideeshTerapalli
@NideeshTerapalli 3 ай бұрын
Lmao that's hilarious
@mithanck4132
@mithanck4132 3 жыл бұрын
Voice is not clear
@akshitaggarwal7878
@akshitaggarwal7878 5 жыл бұрын
Could you please help with Leetcode 135
@NideeshTerapalli
@NideeshTerapalli 5 жыл бұрын
Sure, I'll make a video on that problem next
@akshitaggarwal7878
@akshitaggarwal7878 5 жыл бұрын
@@NideeshTerapalli Thanx, I would be eagerly waiting
@NideeshTerapalli
@NideeshTerapalli 5 жыл бұрын
@@akshitaggarwal7878 Hey Akshit, I made a video on 135 since you requested. Let me know if anything is unclear kzbin.info/www/bejne/pKW7ioGbaalro5I
@nagalakshmi1385
@nagalakshmi1385 4 жыл бұрын
please create more videos..
@amanbhadauria2881
@amanbhadauria2881 4 жыл бұрын
nice biceps
@jollysrivastava3326
@jollysrivastava3326 3 жыл бұрын
Hi Nideesh, Good video. However you really really need to be a bit loud. :)
@NideeshTerapalli
@NideeshTerapalli 3 жыл бұрын
Yeah Jolly, I have a different mic in my new videos
@setukumarbasak6729
@setukumarbasak6729 3 жыл бұрын
Since, we are failing at b
@notinoti2552
@notinoti2552 2 жыл бұрын
public class Solution { public int divide(int A, int B) { if(A == Integer.MIN_VALUE && B == -1){ return Integer.MAX_VALUE; } int a = Math.abs(A); int b = Math.abs(B); int sol = 0; while(a - b >= 0){ int i = 0; while(a - (b = 0){ i++; } sol += 1 = 0)? sol: -sol; } } why I am getting an infinite loop in this and why math.abs is not working in java, I have tracked using the debugger and they show a's original value if we take A as negative.
@LegitGamer2345
@LegitGamer2345 3 жыл бұрын
java code that does not use multiplication , division , modulo ANYWHERE :) class Solution { public int divide(int a, int b) { if(a==Integer.MIN_VALUE&&b==-1) return Integer.MAX_VALUE; boolean negative = false; boolean positive = false; if(a0) positive = true; else negative = true; int result = 0; if(a
@kk.engineer
@kk.engineer 3 жыл бұрын
Improved your logic a bit, the code runs faster (for C++): int divide(int dividend, int divisor) { if(dividend==INT_MIN && divisor==-1) return INT_MAX; if(dividend==INT_MIN && divisor==1) return INT_MIN; long a=abs(dividend); long b=abs(divisor); int result=0; while((a-b)>=0) { int x=0; //for shifting the bit to left while(x
@NideeshTerapalli
@NideeshTerapalli 3 жыл бұрын
thanks Kumar
@messi_codes
@messi_codes 3 жыл бұрын
looking indian accent american
@abhijit-sarkar
@abhijit-sarkar Жыл бұрын
It's never clear why you decided on multiplying by a magic number 2. Clearly, you crammed the solution and just let it out here instead of building it up logically. This is a shi**y problem anyway, it has nothing to do with programming.
@fgffgf9844
@fgffgf9844 2 жыл бұрын
bhai why are you faking your accent ? Use your normal accent
Add Two Numbers Without The "+" Sign (Bit Shifting Basics)
18:25
Back To Back SWE
Рет қаралды 122 М.
(Remade) Leetcode 190 - Reverse Bits of An Integer | Bits Manipulation
6:39
Sigma Kid Hair #funny #sigma #comedy
00:33
CRAZY GREAPA
Рет қаралды 31 МЛН
Эффект Карбонаро и нестандартная коробка
01:00
История одного вокалиста
Рет қаралды 9 МЛН
Double Stacked Pizza @Lionfield @ChefRush
00:33
albert_cancook
Рет қаралды 63 МЛН
Algorithms: Bit Manipulation
9:06
HackerRank
Рет қаралды 533 М.
Divide Two Integers | Leetcode - 29
10:30
Algorithms Made Easy
Рет қаралды 64 М.
Ep 005: Shifting Bits to Multiply, Divide, and Convert
13:51
Intermation
Рет қаралды 14 М.
Object-Oriented Programming is Embarrassing: 4 Short Examples
28:03
(Remade) Subsets I | Leetcode 78 | Backtracking
9:41
Nideesh Terapalli
Рет қаралды 10 М.