Dear Vishi, this is my daily log for Feb 05, 2023.
Today I tried solving problem to Implement pow(x, n), which calculates x raised to the power n (i.e., xn).
My first solution was a brute force method.
class Solution {
public double myPow(double x, int n) {
if (n == 0){
return 1;
}
double power = 1.0;
boolean flip = false;
if (n < 0){
n *= -1;
flip = true;
}
for (int i = 1; i <= n ; i++){
power *= x;
}
if (flip){
power = 1.0 / power;
}
return power;
}
}
This didn't work and gave time limit exceeded. We can modify this and use a divide-and-conquer approach to calculate x raised to the power n in logarithmic time:
class Solution {
public double myPow(double x, int n) {
if (n == 0) return 1;
double half = myPow(x, n / 2);
if (n % 2 == 0) return half * half;
else if (n > 0) return half * half * x;
else return half * half / x;
}
}
Here the trick is that nstead of trying to solve the problem all at once, the code splits the problem into smaller parts by dividing n
by 2 each time and calling itself with the new value of n
.
When "n" is equal to 0, the result is always 1, as any number raised to 0 is 1.
Otherwise, the method calculates the result of the function for "n/2" (stored in "half"), which is x^(n/2).
If "n" is even, then "n/2" is also even and x^n can be written as (x^(n/2))^2. The result is then (x^(n/2))^2 = half * half.
If "n" is positive and odd, then x^n can be written as x^(n-1) * x. Since (n-1) is even, the result can be calculated as (x^((n-1)/2))^2 * x = half * half * x.
If "n" is negative, then x^n can be written as 1/(x^-n). Since (-n) is positive, the result can be calculated as 1/(x^(-n)) = 1/(x^n) = half * half / x.
I went to play tennis today. I guess consistence is the key. Everytime I miss a week or so, I see dip in my performance. Tennis meetup was at 3 pm but I went at 4.30 pm. I just had lunch at noon. Few folks play till night.
In a 1955 BBC interview, B. R. Ambedkar said, "Gandhi was never a Mahatma; I refuse to call him a Mahatma." There were strong disaggrements between Gandhi and Ambedkar.
Interestingly, Albert Einstein had a different opinion about Gandhi, "Generations to come will scarce believe that such a one as this ever in flesh and blood walked upon this earth"
Just read news today that Pervez Musharraf has died. There was a tweet by Mehbooba Mufti that I find problematic.
He was architect of Kargil war which was a fruitless war. Sending condolescences is formally accepted, but she wrote that he genuiely tried to address Kahsmir issues.
I guess there lot a disaggrements I have with BJP politics of Hindutava, but this tweet is in bad taste.
Below is the link of his interview.