Power of 2 | Leetcode

  Рет қаралды 40,976

Techdose

Techdose

Күн бұрын

Пікірлер: 94
@yjj410
@yjj410 4 жыл бұрын
I did it by droping the least significant bit and checking if the number becomes zero. To drop least significant bit i used (x & (x -1)) expression.
@techdose4u
@techdose4u 4 жыл бұрын
Good :)
@siddharthsingh9409
@siddharthsingh9409 4 жыл бұрын
I also did the same!
@agileprogramming7463
@agileprogramming7463 4 жыл бұрын
Crystal clear explanation as always sir! The efforts you are taking is remarkable
@techdose4u
@techdose4u 4 жыл бұрын
Thanks agile :)
@harinaaraayans3453
@harinaaraayans3453 4 жыл бұрын
we can just check if the number is a divisor of the max value of that programming language.. example... in C++ if a number divides 32768, it i s a power of 2. this is much faster than taking log
@techdose4u
@techdose4u 4 жыл бұрын
Use built-in function instead.
@CSKAASIPRASANTHA
@CSKAASIPRASANTHA 2 жыл бұрын
Excellent explanation with efficient solution.
@acxd
@acxd 4 жыл бұрын
another approach (using in-built function) if(__builtin_popcount(n) ==1 and n>0 ) return true; else return false; the above is also an O(1) approach
@techdose4u
@techdose4u 4 жыл бұрын
Yes....built-in is O(1).
@abhishekdas8313
@abhishekdas8313 2 жыл бұрын
Language?
@paranjoypaul3329
@paranjoypaul3329 4 жыл бұрын
One more method... if(n
@techdose4u
@techdose4u 4 жыл бұрын
Everyone has used the same approach 😅
@jayajmire6779
@jayajmire6779 4 жыл бұрын
What is its run time
@rohanprak
@rohanprak 4 жыл бұрын
@@jayajmire6779 O(1)
@rohanprak
@rohanprak 4 жыл бұрын
@@techdose4u indeed , bro , everyone who knew fenwick tree, may have used it probably, as Fenwick is the game of last set bit. XD
@chandanchandak5194
@chandanchandak5194 2 жыл бұрын
(n &(n-1))==0 is enough to determine if its power of two or not
@mujahidpasha4440
@mujahidpasha4440 4 жыл бұрын
Really appreciate your efforts and time you spend on teaching... Thank you very much... Saw a few videos of you and right away subscribed to your channel... It's worth subscribing :)
@techdose4u
@techdose4u 4 жыл бұрын
Thanks :)
@AbhinavKumar-dr4ef
@AbhinavKumar-dr4ef 3 жыл бұрын
Krishna bless you. Nice explanation.
@sudhanshukumar1558
@sudhanshukumar1558 4 жыл бұрын
In python I did Exponent = int(math.log(n,2)) return True if 2**Exponent == n else False Thanks for sharing your solutions, the 2 and 3 solutions were great 😃
@techdose4u
@techdose4u 4 жыл бұрын
👍
@ayonsinha2075
@ayonsinha2075 Жыл бұрын
time compjlexity will be log n for this case ...isn't it??
@shivanshutiwari5646
@shivanshutiwari5646 4 жыл бұрын
I loved 4 rh method. Its great
@techdose4u
@techdose4u 4 жыл бұрын
👍
@bhanuprasad6793
@bhanuprasad6793 2 жыл бұрын
nice explation worth of watching
@karansagar7870
@karansagar7870 4 жыл бұрын
Nice approach
@techdose4u
@techdose4u 4 жыл бұрын
👍
@lapujain
@lapujain 4 жыл бұрын
Amazing teaching skills, you made me learn a new way to do problems in a very simple way. My solution to this problem was using bitset class P.S : Without sizeof(int) it will pass 1107 test cases. class Solution { public: bool isPowerOfTwo(int n) { bitset i(n); if (i.count() == 1) return true; return false; } };
@techdose4u
@techdose4u 4 жыл бұрын
Nice :)
@saisrisai9649
@saisrisai9649 4 жыл бұрын
Awesome 👏🏻 👏🏻👏🏻
@techdose4u
@techdose4u 4 жыл бұрын
Thanks :)
@nightfury1250
@nightfury1250 Жыл бұрын
Here the code of all four methods in javascript. 1) By Recursion const isPower2 = (n) => { if (n === 1) return true; if (n % 2 !== 0) return false; return isPower2(n / 2); }; 2) By Counting Set Bits const isPower2ByCountingSetBits = (n) => { let count = 0; let add = 1; while (add
@ShubhamMahawar_Dancer_Actor
@ShubhamMahawar_Dancer_Actor 4 жыл бұрын
In some post i also saw solution if (n&(n-1))==0 return true else false but i think that will will fail for number out of range for int.??
@techdose4u
@techdose4u 4 жыл бұрын
Number will be in int only. So no problem.
@ShubhamMahawar_Dancer_Actor
@ShubhamMahawar_Dancer_Actor 4 жыл бұрын
@@techdose4u but its giving runtime error while running this solution You can check once please?
@rohanprak
@rohanprak 4 жыл бұрын
this will work even if no is out of range of Long ! , error kaha se aa gaya bro ? comment your code.
@hakoHiyo271
@hakoHiyo271 3 жыл бұрын
Very nice video of explanation! Thank you!
@techdose4u
@techdose4u 3 жыл бұрын
Welcome :)
@andriidanylov9453
@andriidanylov9453 Жыл бұрын
Brilliant. Appreciate.
@fatimajaffal9843
@fatimajaffal9843 4 жыл бұрын
class Solution { public: bool isPowerOfTwo(int n) { if(n
@AnandKumar-uy7nn
@AnandKumar-uy7nn 3 жыл бұрын
Thanks for giving such a great content. 💗💗💗
@uditagrawal6603
@uditagrawal6603 3 жыл бұрын
n&n-1 = 0 for power of 2 with n > 1
@techdose4u
@techdose4u 3 жыл бұрын
👍🏼
@ManojKrVerma-vw4dx
@ManojKrVerma-vw4dx 4 жыл бұрын
You have told that tc for log method is O(1) bt How? Finding log itself is log N. Correct me if I am wrong ??
@techdose4u
@techdose4u 4 жыл бұрын
There are many ways to find log. You don't have to specifically use log2. But as far as I know, standard library log2() is O(1). You can use __builtin_clzl(N)-1 to find log in O(1). This is guaranteed. Follow stackoverflow for this.
@karansagar7870
@karansagar7870 4 жыл бұрын
@@techdose4u can u explain this in coming video just brief
@blahita
@blahita 3 жыл бұрын
Thanks for the great explanation! What is the software that you are using for explaining?
@Ayush-bj8gk
@Ayush-bj8gk 2 жыл бұрын
sir in first method 3/2 will give 1 where as 2/2 will also give 1 How to handle this?
@atulpunde4786
@atulpunde4786 3 жыл бұрын
Awesome..❤️
@techdose4u
@techdose4u 3 жыл бұрын
Thanks :)
@satyamdubey4110
@satyamdubey4110 3 жыл бұрын
👏👏❤
@techdose4u
@techdose4u 3 жыл бұрын
❤️
@PARAxITACHI
@PARAxITACHI 4 жыл бұрын
how 2nd method hv complexity og log2(n).
@KD-xi9wu
@KD-xi9wu 3 жыл бұрын
What if the number is too large and given in the form of String ?????????????????????????
@techdose4u
@techdose4u 3 жыл бұрын
Just check that 1st char of strong should be 1 and rest all 0s. That's it.
@Yash-uk8ib
@Yash-uk8ib 4 жыл бұрын
sir plzz make a video on time complexity analysis plzz..
@techdose4u
@techdose4u 4 жыл бұрын
That will be possible only when the leetcode challenges ends.
@HimanshuSingh-ob9qo
@HimanshuSingh-ob9qo 4 жыл бұрын
👍
@techdose4u
@techdose4u 4 жыл бұрын
👍
@fb_a
@fb_a 3 жыл бұрын
Isn't the internal implementation of log() function time complexity is O(log(N) )?
@ayonsinha2075
@ayonsinha2075 Жыл бұрын
exactlly that is my confusion
@Pratik_yadaw
@Pratik_yadaw 2 жыл бұрын
thanks you so much sir!
@sahithikomirishetti3380
@sahithikomirishetti3380 4 жыл бұрын
Love in with your explanation including the complexities
@techdose4u
@techdose4u 4 жыл бұрын
Thanks :)
@JAG112AO
@JAG112AO Ай бұрын
what does it power of two mean?
@ankitalone8906
@ankitalone8906 3 жыл бұрын
Thank you so much ❤️
@01utpalraj95
@01utpalraj95 2 жыл бұрын
There is one more method that if n&(n-1) is zero then n is 2 ki power sm.
@prabhatchanchal
@prabhatchanchal 4 жыл бұрын
I used N>0 && (N&(N-1)==0)
@techdose4u
@techdose4u 4 жыл бұрын
Nice
@HimanshuKumar-bf3pq
@HimanshuKumar-bf3pq 6 ай бұрын
last method will fail for 5 test cases from almost 21000 test cases, one failed test case is 243 as log(243)/log(3) = 5.000000000000001 which fails ceil and floor
@mayankprakash9651
@mayankprakash9651 4 жыл бұрын
OMG Aaj hm bhul gaye the aur time ho gaya tha 12:27 am hmko laga gaye phir jakr dekhe tab 3 min bacha hua tha due to PCD time , uske baad hm yaha wala GitHub code copy kar diye jaldi se.😑
@techdose4u
@techdose4u 4 жыл бұрын
Time ends at 12:30 AM noon in INDIA.
@mayankprakash9651
@mayankprakash9651 4 жыл бұрын
@@techdose4u Oo mistake am and pm.
@techdose4u
@techdose4u 4 жыл бұрын
Try to solve on time bro. You have 24 hrs.
@j4hnvi
@j4hnvi Жыл бұрын
First Method is incorrect. If you take 14 as example and divide it by 2 we get 1 in the end but it isn't power of two.
@DHEERENDRAKUMARBEE
@DHEERENDRAKUMARBEE 2 жыл бұрын
bhai 1 test case paas nahi ho raha
@javi2082
@javi2082 4 жыл бұрын
Check if x & (x-1) == 0
@mayankmaurya8631
@mayankmaurya8631 10 ай бұрын
(n>0 && ((n & (n-1)) == 0))
@AbhishekKumar-sf6no
@AbhishekKumar-sf6no 3 жыл бұрын
n & n-1
@siddharthasharma9316
@siddharthasharma9316 4 жыл бұрын
N &-(N)==N return true else return false
@siddharthasharma9316
@siddharthasharma9316 4 жыл бұрын
Sorry I type wrong.....N &(-N)==N
@siddharthasharma9316
@siddharthasharma9316 4 жыл бұрын
Where -N is 2's complement
How I would learn Leetcode if I could start over
18:03
NeetCodeIO
Рет қаралды 717 М.
If people acted like cats 🙀😹 LeoNata family #shorts
00:22
LeoNata Family
Рет қаралды 42 МЛН
99.9% IMPOSSIBLE
00:24
STORROR
Рет қаралды 26 МЛН
Find if a Number is power of Two
4:45
CppNuts
Рет қаралды 6 М.
Remove K digits | Build lowest number | Leetcode #402
15:30
Techdose
Рет қаралды 90 М.
5 Math Skills Every Programmer Needs
9:08
Sahil & Sarra
Рет қаралды 1,1 МЛН
I Solved 100 LeetCode Problems
13:11
Green Code
Рет қаралды 270 М.
Power of Two - Leetcode 231 - Python
12:42
NeetCodeIO
Рет қаралды 16 М.
How I Got Good at Coding Interviews
6:29
NeetCode
Рет қаралды 1,7 МЛН
Counting Bits | Leetcode #338
11:51
Techdose
Рет қаралды 71 М.
Dynamic Programming isn't too hard. You just don't know what it is.
22:31
DecodingIntuition
Рет қаралды 205 М.