磨练 LeetCode 问题之禅:第 117 天——Powers
磨练 LeetCode 问题之禅:第 117 天——Powers
欢迎回到 LeetCode 日常练习系列 . 今天我做了3 简单的 问题。让我们开始!
二的幂
[
2 的幂 - LeetCode
给定一个整数 n,如果它是 2 的幂,则返回 true。否则,返回 false 。整数 n 是 2 的幂,如果…
leetcode.com
](https://leetcode.com/problems/power-of-two/)
见解 :
- 我们利用二元运算来非常有效地回答这个问题。如果一个数字是 2 的幂,则它由 1 和后跟零组成。此外,之前的数字是由所有的数字组成的。这两个值没有共同的位,因此按位和 (&) 的结果必须为 0。
三的力量
[
三的幂 - LeetCode
给定一个整数 n,如果它是 3 的幂,则返回 true。否则,返回 false 。整数 n 是 3 的幂...
leetcode.com
](https://leetcode.com/problems/power-of-three/)
见解 :
- 在这里我们不能使用这么快的技巧,所以我们应该计算 3 的幂并检查 n 是否是其中之一。节省内存的一种方法是仅根据问题约束计算最大的内存功率。这样,我们只需要检查它是否可以被 n 整除。
四的力量
[
四的幂 - LeetCode
给定一个整数 n,如果它是 4 的幂,则返回 true。否则,返回 false 。整数 n 是 4 的幂,如果…
leetcode.com
](https://leetcode.com/problems/power-of-four/)
见解 :
- 由于 4 是 2 的平方,因此以下成立:4^x = 2²^x = (2^x)²。因此,我们只需要检查 n 的平方根是否是 2 的幂,我们已经知道如何有效地做到这一点。
版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明