From c78b87c9e1976f6f59d1d3158d050bb8e92fea0e Mon Sep 17 00:00:00 2001 From: ShusenTang Date: Tue, 18 Aug 2020 01:15:13 +0800 Subject: [PATCH] fix formula img show --- README.md | 2 +- solutions/342. Power of Four.md | 21 +++++++++++++-------- solutions/img/342.png | Bin 0 -> 18072 bytes 3 files changed, 14 insertions(+), 9 deletions(-) create mode 100644 solutions/img/342.png diff --git a/README.md b/README.md index 46021cf..3e156a9 100644 --- a/README.md +++ b/README.md @@ -247,7 +247,7 @@ My LeetCode solutions with Chinese explanation. 我的LeetCode中文题解。 | 337 |[House Robber III](https://leetcode.com/problems/house-robber-iii/)|[C++](https://github.com/ShusenTang/LeetCode/blob/master/solutions/337.%20House%20Robber%20III.md)|Medium| | | 338 |[Counting Bits](https://leetcode.com/problems/counting-bits/)|[C++](https://github.com/ShusenTang/LeetCode/blob/master/solutions/338.%20Counting%20Bits.md)|Medium| | | 341 |[Flatten Nested List Iterator](https://leetcode.com/problems/flatten-nested-list-iterator/)|[C++](https://github.com/ShusenTang/LeetCode/blob/master/solutions/341.%20Flatten%20Nested%20List%20Iterator.md)|Medium| | -| 342 |[Power of Four](https://leetcode.com/problems/power-of-four)|[C++](https://github.com/ShusenTang/LeetCode/blob/master/solutions/342.%20Power%20of%20Four.md)|Easy| | +| 342 |[Power of Four](https://leetcode.com/problems/power-of-four)|[C++](solutions/342.%20Power%20of%20Four.md)|Easy| | | 343 |[Integer Break](https://leetcode.com/problems/integer-break/)|[C++](https://github.com/ShusenTang/LeetCode/blob/master/solutions/343.%20Integer%20Break.md)|Medium| | | 344 |[Reverse String](https://leetcode.com/problems/reverse-string)|[C++](https://github.com/ShusenTang/LeetCode/blob/master/solutions/344.%20Reverse%20String.md)|Easy| | | 345 |[Reverse Vowels of a String](https://leetcode.com/problems/reverse-vowels-of-a-string)|[C++](https://github.com/ShusenTang/LeetCode/blob/master/solutions/345.%20Reverse%20Vowels%20of%20a%20String.md)|Easy| | diff --git a/solutions/342. Power of Four.md b/solutions/342. Power of Four.md index 3102dba..0a0333c 100644 --- a/solutions/342. Power of Four.md +++ b/solutions/342. Power of Four.md @@ -14,15 +14,20 @@ 第1个条件等价于去掉最后的那个1后整个数变为0,即 `num & (num - 1) == 0`;(**注意学习这种去掉二进制最后一个1的方法**) 第2个条件等价于 `(num | mask) == mask`, 其中`mask = 0b01010101010101010101010101010101`。 -## 思路二 -还是基于思路一的两个条件,我们知道如果只满足思路一的条件1的数可能是2^n也可能是4^n, 怎样排除掉2^n呢? -我们知道: - -所以, -* 1.n为偶数时既是2的幂也是4的幂,此时(-1)^n==1所以(2^n-1)% 3==0; -* 2.n为奇数是只是2的幂但不是4的幂, 此时(-1)^n=-1所以(2^n-1)% 3==1; -故可以用(2^n-1)% 3是否等于0来等价判断思路一的条件2, 将2的幂和4的幂区分开。 +## 思路二 +还是基于思路一的两个条件,我们知道如果只满足思路一的条件1的数可能是`2^n`也可能是`4^n`, 怎样排除掉`2^n`呢? +我们知道: +
+ +
+ +所以, + +* 1.n为偶数时既是2的幂也是4的幂,此时`(-1)^n==1`所以`(2^n - 1)% 3==0`; +* 2.n为奇数是只是2的幂但不是4的幂, 此时`(-1)^n=-1`所以`(2^n - 1)% 3==1`; + +故可以用`(2^n-1)% 3`是否等于0来等价判断思路一的条件2, 将2的幂和4的幂区分开。 # C++ ## 思路一 ``` C++ diff --git a/solutions/img/342.png b/solutions/img/342.png new file mode 100644 index 0000000000000000000000000000000000000000..93ea970b09bc3cddab3cf9371f997e2742975e52 GIT binary patch literal 18072 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 C4#l+q literal 0 HcmV?d00001