磨练 LeetCode 问题之禅:第 117 天——Powers

磨练 LeetCode 问题之禅:第 117 天——Powers

欢迎回到 LeetCode 日常练习系列 . 今天我做了3 简单的 问题。让我们开始!

Photo by 利兹桑切斯-维加斯 on 不飞溅

二的幂

[

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 版权协议,转载请附上原文出处链接和本声明

本文链接:https://www.qanswer.top/40066/44373017

posted @   哈哈哈来了啊啊啊  阅读(14)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 全程不用写代码,我用AI程序员写了一个飞机大战
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 记一次.NET内存居高不下排查解决与启示
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了
· DeepSeek 开源周回顾「GitHub 热点速览」
点击右上角即可分享
微信分享提示