L5. Power Exponentiation | Maths Playlist
Notes/Codes/Problem links under day 8 of A2Z DSA Course: takeuforward.org/strivers-a2z...
Entire playlist: • Maths Playlist | Langu...
Follow us on our other social media handles: linktr.ee/takeuforward
Notes/Codes/Problem links under day 8 of A2Z DSA Course: takeuforward.org/strivers-a2z...
Entire playlist: • Maths Playlist | Langu...
Follow us on our other social media handles: linktr.ee/takeuforward
Пікірлер: 37
This man is the top person in youtube to provide high quality content
For LEETCODE : (Covering all the Corner Cases) class Solution { public double myPow(double x, int n) { double ans = 1; double oriNum = n; if(x == 0 || x == 1) return x; if(n x = 1/x; n = -(n+1); //for Integer.MIN_VALUE ans = ans * x; } while(n > 0) { if(n % 2 == 1) { ans = ans * x; n = n-1; } else { n = n/2; x = x * x; } } return ans; } }
@clanguage7730
2 ай бұрын
int a,x; // a is base and x is power cin>>a>>x; int ans =1; while(x>0){ if(x&1)ans = ans*a; a = a*a; x>>=1; } cout
for overflow scenario's just use an unsigned right shift n>>>=1 is equal to n/2. why unsigned not signed right shift let say in case of number like -2147483648 if u take an abs it will -2147483648 same number again and then if you divide by 2 or signed right shift this number will be going forever negative, reason in signed right shift it replaces left vacated bits with 1 eventually you number will become -1111111....11111 in form of bits and forever loop, in this in case of unsigned right shift >>> it will fill vacated left values to zero so it will never overflow and eventually become 0 all the other code keep same make n = n/2 to n>>>=1 you will cover all cases :)
I'm improving my logical thinking for problem solving by your teaching only.
UNDERSTOOD....Thank You So Much for this wonderful video................🙏🏻🙏🏻🙏🏻🙏🏻
Brother please next string playlist if possible 🙂
class Solution { public: double myPow(double x, int n) { int pow = abs(n); double ans = 1; while(pow > 0) { if(pow %2 == 0) { x=x*x; pow /=2; } else { ans *=x; pow = pow -1; } } if(n ans = 1/ans; return ans; } };
please also complete String Playlist.(This topic is more import for third college placement and it is more demanding topic for all guys.
Here is the Code for the negative power : public static double pow(int x, int n) { // Handle negative exponent if (n // Calculate positive exponent result return 1.0 / pow(x, -n); } int result = 1; while (n > 0) { if (n % 2 == 1) { result *= x; n--; } else { n /= 2; x *= x; } } return result; }
@saisardesai5548
2 ай бұрын
x and result should be double too
I have a small doubt, why does the last approach work, if someone can provide the intitution it will be super helpful.
Understood ❤
Can you discuss about corner case
Thank_You✨
Bhai wahi if negative interger h to -2147 ..... P positive krne p int flow hora
understood
Understood
@striver Code will not work for negative power! BTW Thanks sir for the video❤
❤❤
Code for Negative powers is not running.please help
@AkshitChaudhary-vx8iw
3 ай бұрын
yes because our while will never run because n is negative so our code will simply return 1/ ans (which is 1);
@deepalikumari5319
3 ай бұрын
@@AkshitChaudhary-vx8iw how can we fix it?
@bishalkundu7592
3 ай бұрын
@@deepalikumari5319 return 1 / pow(x, -n)
@Manish-rr3nc
Ай бұрын
Bhai code kaha hai striver A - Z sheet mein lec 4 mein toh nhi dikh raha please batado
@AkshitChaudhary-vx8iw
Ай бұрын
Here is the Code for the negative power : public static double pow(int x, int n) { // Handle negative exponent if (n // Calculate positive exponent result return 1.0 / pow(x, -n); } int result = 1; while (n > 0) { if (n % 2 == 1) { result *= x; n--; } else { n /= 2; x *= x; } } return result; }
// for posititve/negative powers public static double exponent(int x, int n) { double ans = 1; int m = n; if(n 0) { if (n % 2 == 1) { ans = ans * x; n = n - 1; } else { n = n / 2; x = x * x; } } if(m
@ryuu5768
4 ай бұрын
bro isme int overflow hoga if we multiply n*-1
@hritikminmuley1397
4 ай бұрын
@@ryuu5768 That is for converting the power to positive.
@ryuu5768
4 ай бұрын
@@hritikminmuley1397 hn but wo out of int limit hojyega for a test case for n=-214........ Something
US
understood
understood
understood
understood