news 2026/8/31 13:22:44

E.位运算-基础——342. 4的幂

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
E.位运算-基础——342. 4的幂

题目链接:342. 4的幂(简单)

算法原理:

解法:位运算

写法一:仅一个1+该1在第偶数位

1ms击败35.44%

时间复杂度O(1)
4ⁿ=(2²)ⁿ,因此我们完全可以用A.每日一题——231. 2 的幂的思路来算,由于4=2<<1,在二进制中仅仅是多空了一位,因此这个1的位置只要在第偶数个位置(从0开始计数),那么该数就是4的幂
找这个位置可以直接找二进制的最高有效位,因为这个最高有效位一定为1,可以用32-Integer.numberOfLeadingZeros()来计算

写法二:类似A.每日一题——231. 2 的幂写法二:n&(n-1)

1ms击败35.44%

时间复杂度O(1)
通过写法一可知,4的幂中唯一的1在第偶数个位置,那么此时4的幂=2的幂 且 1在第偶数个位置
0x5的二进制:0101,因此0x5555 5555=0101 0101 0101 0101 0101 0101 0101 0101(共32位)
所有偶数位(从0开始数)都是1,奇数位都是0,我们仅需在此数是2的幂的前提下与0x5555555555按位与&,只要最终结果>0,那么该数就是4的幂

写法三:二项式定理

1ms击败35.44%

时间复杂度O(1)
当 k 为非负整数时,根据二项式定理:
4ᵏ=(3+1)ᵏ=Cₖ⁰3ᵏ1⁰+Cₖ¹3ᵏ⁻¹1¹+Cₖ²3ᵏ⁻²1²+……+Cₖᵏ3⁰1ᵏ
上式同时%3:
除最后一项Cₖᵏ3⁰1ᵏ =1外,其余每一项都至少包含一个因子3,因此这些项%3后均为0
因此可得出4ᵏ%3=1
为了能保证此数是2的幂,需要两边同时乘以2:
2×4ᵏ%3= 2
据此,在 n 是 2 的幂的前提下,我们可以通过n%3的结果判断:
此时n%3=1,是4的幂:(2ᵏ)²=4ᵏ
此时n%3=2,不是4的幂:2ᵏ⁺¹=2×4ᵏ

Java代码:

class Solution { //写法一:仅一个1+该1在第偶数位 public boolean isPowerOfFour(int n) { return Integer.bitCount(n)==1&&((32-Integer.numberOfLeadingZeros(n))%2==1); } }
class Solution { //​写法二:类似A.每日一题——231. 2 的幂写法二:n&(n-1) public boolean isPowerOfFour(int n) { return n>0&&((n&(n-1))==0)&(n&0x55555555)>0; } }
class Solution { //写法三:二项式定理 public boolean isPowerOfFour(int n) { return n>0&&((n&(n-1))==0)&(n%3==1); } }
版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/8/30 22:10:03

pip SSLError解决

Retrying (Retry(total4, connectNone, readNone, redirectNone, statusNone)) after connection brok 报错如下按照网上教程均没用。 突然,想起来时间问题。同步时间成功解决。&#xff01;

作者头像 李华
网站建设 2026/8/23 5:42:20

基于深度学习的3D打印缺陷识别检测系统|全新web界面|多模态|AI大模型智能分析|YOLOv8、YOLOv10、YOLOv11、YOLOv12

摘要 随着生态文明建设的深入推进与生物多样性保护需求的日益增长&#xff0c;高效、精准、智能的野生动物监测技术成为研究热点。本项目旨在设计并实现一个集先进目标检测算法、现代化Web应用架构与智能数据分析于一体的综合性野生动物智能检测系统。 系统核心采用当前目标检…

作者头像 李华
网站建设 2026/8/23 12:07:21

Spring Boot 中配置了全局异常处理器,免try...catch

spring boot 中&#xff0c;如果使用了全局异常处理&#xff1a; package com.weiyu.exception;import com.weiyu.model.Result; // 自定义的统一响应对象 import com.weiyu.util.ErrorFileResponseUtils; // 处理错误文件响应的工具类 import jakarta.ser…

作者头像 李华
网站建设 2026/8/30 19:15:40

AI专著写作新突破!专业工具助力,打造高质量学术著作

一、新手研究者撰写学术专著的挑战 对于第一次尝试写学术专著的研究者来说&#xff0c;整个写作过程就像是在不断探索中摸索前行&#xff0c;充满了各种未知的挑战。选题常常让人感到迷茫&#xff0c;如何在“有意义”与“可实施”之间找到一个合适的平衡点&#xff0c;往往很…

作者头像 李华
网站建设 2026/8/29 9:49:57

2026别错过!千笔ai写作,口碑爆棚的AI论文软件

你是否在论文写作中感到力不从心&#xff1f;选题难、框架乱、查重高、格式错……这些让人头疼的问题&#xff0c;是否让你夜不能寐&#xff1f;面对学术写作的重重挑战&#xff0c;很多同学都感到束手无策。但如今&#xff0c;有了千笔AI&#xff0c;这一切都将迎刃而解。作为…

作者头像 李华
网站建设 2026/8/30 7:00:47

口碑好的PCB免费打样厂家

PCB工艺技术为什么重要 PCB不仅是电路的载体&#xff0c;其制造工艺直接决定了电路的可靠性。PCB设计与制造必须协同&#xff0c;以确保信号完整性、电源完整性、机械可靠性和热管理。 信号完整性&#xff1a;PCB的布线和层压工艺直接影响信号传输的质量。 电源完整性&#x…

作者头像 李华