Here the trick is that number of set bits in even numbers is equal to the number of set bits in n/2 and +1 is the number is odd Bcz doubling the number = shifting the number 1 position towards left which contribute to one 0 at the end so no effect on the number of set bits if the number is odd that means we need first add one zero to the end and then add +1 to it in order to make it odd ex : 6 ==> 110 while making it 12 we can shift by one position left so 12 = 110 1100 no more 1 is added to it while making the 13 we need to add +1 to the 12 which has a zero at its end and hence it directly contributes to one 1 12 + 1 ==> 1100 + 1 ==> 1101 class Solution { public: vector countBits(int n) { vector ans(n+1); ans[0]=0; for(int i=1; i
@Mercer802 жыл бұрын
So it's dynamic programming as we are using previous results
@AnandKumar-uy7nn2 жыл бұрын
@@Mercer80 yeah !!
@ShivamKumar-qv6em3 жыл бұрын
finest u tube channel for competitive programming .
@Official-tk3nc4 жыл бұрын
I think this is the most underrated youtube channel for programming believe me your channel will reach 1 Million subscribers soon :)
Simple code sol // Time: O(n) // Space: O(n) class Solution { public: vector countBits(int num) { vector res{0}; for (int i = 1; i > 1]); } return res; } };
@techdose4u4 жыл бұрын
👍
@nagendravelpuri4442 жыл бұрын
This is the best algorithm for solving this problem ,good explanation sir!!
@techdose4u2 жыл бұрын
Thanks ☺️
@snehilgupta85584 жыл бұрын
You explain these problems so easily and in the best way ...... Amazing work sir
@krishangopal67954 жыл бұрын
Best youtube channel till now.
@techdose4u4 жыл бұрын
Thanks :)
@krishangopal67954 жыл бұрын
TECH DOSE Sir please share your mail or contact number need placement related advice
@SharmaTushar1-yt Жыл бұрын
Best explanation. I watched Neetcode's video first but this explanation is a lot better.
@techdose4u Жыл бұрын
:)
@karthikkunjithapatham38144 жыл бұрын
Great solution. Am wondering how can one think and arrive at this kind of an approach. Especially during interviews :) This is where I struggle. Mostly my mind revolves around standard problem solving techniques.
@techdose4u4 жыл бұрын
Practice will improve your ability :) so keep practicing.
@dayanandraut56603 жыл бұрын
clear cut explanation. 1000 likes for the idea and another 1000 likes for easy explanation. Keep it up. You just earned a subscriber.
@techdose4u3 жыл бұрын
Thanks ❤️
@pennilesscoder39264 жыл бұрын
The Method is Generally Look Up table Method......For finding set bits at each Number....But We can Find Total Number of Set bits from 1 to N with Time complexity O(logN)....Which is better than O(N)....And the right shift or divide by 2 approcah is well explained and understood
@lekanosagie3 жыл бұрын
I think you're misunderstanding. This method finds the number of set bits in O(1) time, not O(logN). Given that there are N elements in the array, the time omplexity is O(1) * N = O(N). Populating the array is O(N) at the least, so if it took LogN to find the number of set bits, then the time complexity for your solution would be O(NLogN) which is slower than TECH DOSE's approach.
@rishabsinha87494 жыл бұрын
dp[i] = dp[i>>1] + (i&1); can also be done and it is faster than / and %
@amolmishra86213 жыл бұрын
This solution is just wow! Mindblown totally.
@techdose4u3 жыл бұрын
:)
@akshaycharjan6384 Жыл бұрын
Best one even after 3 years!
@basedmangoes33794 жыл бұрын
amazing explanation. thank you!!! i was struggling with the intuition, but breaking it down was extremeyl helpful!
@techdose4u4 жыл бұрын
Nice :)
@udayptp Жыл бұрын
Saw many different ways to solve this problem on you tube and gfg but this was best approach. ❤
@pforprogrammer2 жыл бұрын
watch multiple videos but didn't even get the gist of this topic, but your way of explaining this problem is osm really got the concept... . Thankyou man
@saravanan9254 жыл бұрын
Nowadays, I am searching for one problem in youtube, if tech dose has uploaded that problem then my problem becomes easy
@anssha26434 жыл бұрын
Your videos are all so good. Thanks for the conetent. Simple to understand and easy to implement
@techdose4u4 жыл бұрын
Welcome :)
@PriyanshuSingh-dt3oz2 жыл бұрын
Crystal Clear Explaination
@techdose4u2 жыл бұрын
Thanks ❤️
@amiteshanand51574 жыл бұрын
can u explain more optimized solution using just log 32 complexity or log num
@siddhartha.saif254 жыл бұрын
i like the way you develop the solution. take example, then have some observations. great job! thank you!
@techdose4u4 жыл бұрын
Welcome
@saranshdabas42233 жыл бұрын
Instant sub for this kind of content. Keep it up!
@techdose4u3 жыл бұрын
Welcome :)
@mosiurrahman4061 Жыл бұрын
bow down to this guy.
@rogers29344 жыл бұрын
Now this is how you explain!!! Great work!!
@techdose4u4 жыл бұрын
Thanks :)
@violetamalinkova88407 ай бұрын
Amazing explanation, thank you so much.
@Oscar-vr2md4 жыл бұрын
You rock, Duuuude! Learned a lot from your videos!!!!
@techdose4u4 жыл бұрын
Thanks man :)
@chayandas49423 жыл бұрын
Bhaiya, you such a great teacher. You make us understand so patiently and easily. Thank you
@techdose4u3 жыл бұрын
Welcome :)
@udaychatterjee44242 жыл бұрын
It's not easy to come up with this solution but if you do...you are awesome !
@abhishekrai43254 жыл бұрын
Thank you so much sir for such a brilliant explanation. Love your videos. Thank you for putting so much effort :)
@techdose4u4 жыл бұрын
Welcome :)
@shivam79293 жыл бұрын
this is explanation is lit man , I am totally mesmerized
@techdose4u3 жыл бұрын
Thanks :)
@rahulbawa39693 жыл бұрын
Thanks for the awesome explanation. However, I doubt if I could have come up with this observation in an actual interview. I would have just gone with O(32n) solution :(
@bree9895 Жыл бұрын
i dont think anyone can come up with this without seeing it first :/
@tanujkalra73344 жыл бұрын
This approach was fantastic :) Thanks a ton!
@techdose4u4 жыл бұрын
Welcome :)
@RicheshGuptaRichu4 жыл бұрын
Tagda bhai.. GFG DSA course me bhgaa dia tha iss topic ko
@techdose4u4 жыл бұрын
Thanks bhai 😀
@bhopalsingh41024 жыл бұрын
Clean and crisp explanation...
@techdose4u4 жыл бұрын
Thanks
@srirammuralidaran21213 жыл бұрын
Superb explanation and easy to understand the solution. Thanks keep going ...
@techdose4u3 жыл бұрын
Welcome :)
@dmsohel13354 жыл бұрын
I think we can use while(n==0){ n&(n-1) expression and increment the count the Time comp is O(n*no of set bits)
@techdose4u4 жыл бұрын
This is the same as method 1. A little more efficient.
@rohithkumartangudu46644 жыл бұрын
@@techdose4u This solution is giving 3ms runtime
@dmsohel13354 жыл бұрын
@@rohithkumartangudu4664 time complexity less or more ?
@rohithkumartangudu46644 жыл бұрын
@@dmsohel1335 The above method time complexity is O(logn). There are n elements to find then the total time complexity is O(nlogn).
@HenryMufc82 Жыл бұрын
very clear explanation of the solution and the theory behind it, thanks very much :)
@mondayemmanuel1913 жыл бұрын
I totally enjoy your explanations.
@techdose4u3 жыл бұрын
Thanks :)
@abhishekkumaar3 жыл бұрын
Suppose we have to find the sum of count of bits instead of the array, then there’s a O(log n) solution available.
@JamesHalpert85554 жыл бұрын
Great explanation as always!!! Very much helpful!! Thank You!! Can you please make a video on time complexity and space complexity...
@techdose4u4 жыл бұрын
Yea sure. I have started the playlist but not finished due to challenges. Once this is over, I will finish it.
@aditikhandelwal1354 жыл бұрын
Your explanation are just amazing 😍😍
@techdose4u4 жыл бұрын
Thanks :)
@orchideirakozesr88423 жыл бұрын
Very thankful for the work you’re doing mate !
@techdose4u3 жыл бұрын
Welcome :)
@asthapandey2654 жыл бұрын
@TECH DOSE solution is great , but if the space complexity is o(n), then would it not fail for nos ~=10^9??
@ersinerdem72853 жыл бұрын
Great explanation for the DP solution!
@KushalBhatia4 жыл бұрын
Mind blowing power of observation. Thank you Keep up the good work @TECH DOSE
@techdose4u4 жыл бұрын
Welcome :)
@mrinmoypaul68103 жыл бұрын
great explanation and solution
@techdose4u3 жыл бұрын
Thanks :)
@yashkapoor5083 жыл бұрын
The best solution I found so far 😁🥳
@techdose4u3 жыл бұрын
Nice :)
@sandeepkumarnagamalla10204 жыл бұрын
Excellent explanation !! Very easy to understand sir. thanks a lot for making this video.
@techdose4u4 жыл бұрын
Welcome :)
@Learner0104 жыл бұрын
ans[i] = ans[i&(i-1)] + 1; work perfectly
@techdose4u4 жыл бұрын
👍
@agileprogramming74634 жыл бұрын
Mind == blown away
@techdose4u4 жыл бұрын
🤣 a coder's way to represent feelings
@liftwithamey4 жыл бұрын
Great Explanation !!!!!!!!
@techdose4u4 жыл бұрын
Thanks
@suryakiran2970 Жыл бұрын
Excellent Explanation
@techdose4u Жыл бұрын
Thanks :)
@siddhantsamal88784 жыл бұрын
sir , you are truly a genius ,always helped a lot..Thankyou
@techdose4u4 жыл бұрын
Welcome :)
@pratham6542 жыл бұрын
This is the best explanation. More kudos to you 💯💯
@sukanyasen3053 жыл бұрын
Beautiful solution
@techdose4u3 жыл бұрын
Thanks
@abhisekmishra52454 жыл бұрын
just wow !!! nice explanation sir
@techdose4u4 жыл бұрын
Thanks :)
@NoOneIsHereRightNow3 жыл бұрын
Amazing solution thanks
@techdose4u3 жыл бұрын
Welcome :)
@navyaagrawal24744 жыл бұрын
Please continue making videos in the upcoming June challenge too. Your videos are awesome!
@techdose4u4 жыл бұрын
Thanks :)
@kirtigera22254 жыл бұрын
Thankew sir.. Please upload egg dropping puzzle problem using recursion and dp...
@techdose4u4 жыл бұрын
Yea sure. I am not getting any time you see. Daily videos is very exhausting.
@kirtigera22254 жыл бұрын
@@techdose4u OK sir..
@santanu292 жыл бұрын
Thank you for the explanation
@techdose4u2 жыл бұрын
Welcome 😊
@saravana68823 жыл бұрын
fantastic solution
@techdose4u3 жыл бұрын
Thanks :)
@farjanask869 Жыл бұрын
Chala help ayindi anna thank you so much Annaya
@keshavraghav38963 жыл бұрын
ooooooohhhhh... you are really awesome sir...!
@techdose4u3 жыл бұрын
Thanks :)
@fsociety84384 жыл бұрын
faad bhai faad
@techdose4u4 жыл бұрын
Thanks bhai :)
@shreedharkushwaha31003 жыл бұрын
Plzz make a video for negative numbers also
@Michandel Жыл бұрын
Great explanation!
@RanjuRao3 жыл бұрын
Thank you for the solution :)
@techdose4u3 жыл бұрын
Welcome
@dhawalpatil40383 жыл бұрын
just loved the explanation!
@mahipalsingh-yo4jt3 жыл бұрын
Excellent sir !!!!!!!!!!!!!!!!!
@techdose4u3 жыл бұрын
Thanks
@m.s.nabhiram15324 жыл бұрын
very nicely explained
@techdose4u4 жыл бұрын
Thanks
@priyeshjammula8543 жыл бұрын
Superb explanation
@abhisheksunda79253 жыл бұрын
Great!! How to come up with this kind of solution?
@wentingsong94354 жыл бұрын
Brilliant, you are a savior!
@techdose4u4 жыл бұрын
Thanks :)
@siddhartha.saif254 жыл бұрын
very nice! thank you!
@techdose4u4 жыл бұрын
Welcome
@techNtech3524 жыл бұрын
Seriously, this is one of the best Channel for coding problems. Such a nice explanation as always
@techdose4u4 жыл бұрын
Thanks
@gokulnaathb26272 жыл бұрын
Very nicely explained, Sir
@techdose4u2 жыл бұрын
Thanks 😊
@topcoder38124 жыл бұрын
Sir please create new course on basic to advanced competitive programming .If you have time. Your teaching style is awesome
@techdose4u4 жыл бұрын
I wish I had more time. Currently it will not be possible. I will focus videos topicwise once leetcode challenge is over.
@topcoder38124 жыл бұрын
@@techdose4u As your wish👍👍
@sabihaakter45804 жыл бұрын
Nice Explanation
@techdose4u4 жыл бұрын
Thanks
@eshwarnaidu47472 жыл бұрын
clear explanation
@dontknow5923 жыл бұрын
Thank You Sir. Very precisely explained 🤓🙌🏻
@techdose4u3 жыл бұрын
Welcome :)
@meghamalviya84954 жыл бұрын
Can you please explain how the complexity was O(N log max ) in 1st method?
@techdose4u4 жыл бұрын
It is same as NlogN. Max means num because num is the maximum value of range.
@meghamalviya84954 жыл бұрын
@@techdose4u thanks!
@karansagar78704 жыл бұрын
great explanation
@techdose4u4 жыл бұрын
Thanks
@ajaywadhwa33984 жыл бұрын
Awesome Explanations !! Really helped a lot.
@techdose4u4 жыл бұрын
Thanks :)
@chitobi30102 жыл бұрын
Thank you for your explanation! However, I don't quite understand the time complexity for the first approach. Isn't it supposed to be O(N)? Time complexity using Brian Kernighan's algorithm is O(1) + O(N+ 1) to iterate from range(0, n+1). Please, am I missing something?
@TechieIndia4 жыл бұрын
please make more videos on bitmasking also.
@techdose4u4 жыл бұрын
👍 I will make as problems keep coming
@TechieIndia4 жыл бұрын
@@techdose4u please make videos on code forces round 647 div 2 or 1 b/c every question is related to bitmasking
@MrACrazyHobo3 жыл бұрын
Can we say that this approach is dynamic programming?
@techdose4u3 жыл бұрын
Yes right.
@deveshsharma74874 жыл бұрын
Really a great obervation and the best method to solve this problem I have seen till now. Thanks a lot, I wish your channel becomes more and more famous. Keep up the good work
@techdose4u4 жыл бұрын
Thanks for your wishes. Touchwood 😀
@kunalsoni76814 жыл бұрын
Sir this video is such a helpful to me.. to understand bit manipulation 😊☺️.. thank you..
@techdose4u4 жыл бұрын
Welcome :)
@anmax2 жыл бұрын
Wow I thought I wasn't understading anything, but it suddenly clicked
@singurubhavana83684 жыл бұрын
Simply awesome👌👌
@techdose4u4 жыл бұрын
Thanks :)
@raghuveernaraharisetti3 жыл бұрын
Always the best!
@anand.prasad5024 жыл бұрын
simply awesome! Thank you very much :)
@techdose4u4 жыл бұрын
Welcome
@mahadishakkhor12310 ай бұрын
i can understand from ur video
@michaelchan61443 жыл бұрын
great vid! subscribed!!!!!
@techdose4u3 жыл бұрын
Thanks 😊
@lovleshbhatt77974 жыл бұрын
Sir I m your big fan, I want to ask a question that I have completed my Trees and BST from GeeksForGeeks and solved mostly problem on GFG and some problem on Leetcode too, Now my question is that Should I go for CP trees question or I have to completed the remaining leetcode question of Trees and BST???
@techdose4u4 жыл бұрын
If you are coding for placements then concentrate only on leetcode and interviewbits. If you love CP then do it. Leetcode is sufficient for placement.
@sonuagarwal76794 жыл бұрын
This will also work num[i]=num[i-(i & -i)]+1;
@techdose4u4 жыл бұрын
👍
@dmsohel13354 жыл бұрын
What is the time complexity
@evgeni-nabokov4 жыл бұрын
@@dmsohel1335 ~num
@kollivenkatamadhukar50594 жыл бұрын
Excellent Observation But how can one arrive at that observation. How Does one even think of property like /2 results in the following results ?? Can u help !
@techdose4u4 жыл бұрын
It's easy. Because dividing a number by 2 then it's right shift by one bit for decimal. That's how you can figure it out.
@kollivenkatamadhukar50594 жыл бұрын
@@techdose4u I think u didn't get it. I wanted to know whether you have tried out all those properties you know(Due to Practice) while figuring out this is the apt property !!. Or you have derived it according to the ques ?? If Yes Then How. Could you please walk me through it if possible? I'm willing to know your taught process when you have first seen this question basically. That helps all of us a lot is it the practice we are lacking in or Taught Process in wrong directions. :D
@techdose4u4 жыл бұрын
@@kollivenkatamadhukar5059 I just understood on seeing only due to practice.