LeetCode 342. 4的幂(位运算)

文章目录

    • 1. 题目
    • 2. 解题
      • 2.1 通用解法
      • 2.2 找规律

1. 题目

给定一个整数 (32 位有符号整数),请编写一个函数来判断它是否是 4 的幂次方。

示例 1:
输入: 16
输出: true示例 2:
输入: 5
输出: false

进阶:
你能不使用循环或者递归来完成本题吗?

来源:力扣(LeetCode)
链接:https://leetcode-cn.com/problems/power-of-four
著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。

2. 解题

相关题目:LeetCode 231. 2的幂 && LeetCode 338. 比特位计数(2进制1的个数)

2.1 通用解法

class Solution {
public:bool isPowerOfFour(int n) {if(n < 1)return false;while(n%4 == 0)n /= 4;return n == 1;}
};

2.2 找规律

十进制二进制
40 = 11
41 = 4100
42 = 161 0000
43 = 64100 0000

发现4的整数次幂:只有一个1(跟2的整数次幂一致),且1在奇数位

在C/C++ 三种进制前缀:

  • 二进制: 0b
  • 八进制: 0
  • 十六进制: 0x

设计一个只在奇数位或者只在偶数位为1的二进制数,进行位运算判断

class Solution {
public:bool isPowerOfFour(int n) {if(n < 1)return false;int k = 0b10101010101010101010101010101010;//32位if((n&(n-1)) != 0)//先判断是否为2的幂,只有一个bit为1return false;if((n&k) == 0)return true;return false;}
};

在这里插入图片描述
or

class Solution {
public:bool isPowerOfFour(int n) {if(n < 1)return false;int k = 0b01010101010101010101010101010101;if((n&(n-1)) != 0)//先判断是否为2的幂,只有一个bit为1return false;if((n&k) == n)return true;return false;}
};

在这里插入图片描述
如果图方便,可以记住那个魔法数字,不过感觉没必要,记住二进制形式就好了

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/478072.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

格局打开,带你解锁 prompt 的花式用法

文 | Severus就如同《倚天屠龙记》中的主角张无忌&#xff0c;语言模型修炼了深厚的内功&#xff0c;但是遇到他的乾坤大挪移之前&#xff0c;他空有一身本领却不会用。但学会之后&#xff0c;于所有武功又都融会贯通。光明顶上血战六大派&#xff0c;他可以打出比崆峒派威力更…

自动机器学习pycaret,手把手教你自动提取特征、自动选取模型、自动评价

手把手教你自动提取特征、自动选取模型、自动评价 手把手教你使用pycaret Pycaret 3.0 功能抢先体验 5个PyCaret的常见误解

论文浅尝 | 基于异质图交互模型进行篇章级事件抽取

笔记整理&#xff1a;娄东方&#xff0c;浙江大学 & 恒生电子股份有限公司博士后&#xff0c;研究方向为事件抽取来源&#xff1a;ACL2021链接&#xff1a;https://arxiv.org/abs/2105.14924GitHub项目地址&#xff1a;https://github.com/RunxinXu/GIT本文关注篇章事件抽取…

GAN 的内在漏洞,只看眼睛就能找出虚拟人脸?

本文转载自公众号“夕小瑶的卖萌屋”&#xff0c;专业带逛互联网算法圈的神操作 -----》我是传送门 关注后&#xff0c;回复以下口令&#xff1a; 回复【789】 &#xff1a;领取深度学习全栈手册&#xff08;含NLP、CV海量综述、必刷论文解读&#xff09; 回复【入群】&#xf…

LeetCode 869. 重新排序得到 2 的幂(排序 全排列)

1. 题目 给定正整数 N &#xff0c;我们按任何顺序&#xff08;包括原始顺序&#xff09;将数字重新排序&#xff0c;注意其前导数字不能为零。 如果我们可以通过上述方式得到 2 的幂&#xff0c;返回 true&#xff1b;否则&#xff0c;返回 false。 示例 1&#xff1a; 输入…

Spark性能优化指南——基础篇

在大数据计算领域&#xff0c;Spark已经成为了越来越流行、越来越受欢迎的计算平台之一。Spark的功能涵盖了大数据领域的离线批处理、SQL类处理、流式/实时计算、机器学习、图计算等各种不同类型的计算操作&#xff0c;应用范围与前景非常广泛。在美团•大众点评&#xff0c;已…

吴恩达:机器学习的六个核心算法

吴恩达&#xff1a;机器学习的六个核心算法 数据派THU 2022-08-03 17:00 发表于北京 图片 来源&#xff1a;AI科技评论 本文约7200字&#xff0c;建议阅读15分钟 本文介绍了吴恩达在其创办的人工智能周讯《The Batch》上更新了一篇博文&#xff0c;总结了机器学习领域多个基础算…

会议交流 | 京东硅谷首席科学家领衔,图机器学习峰会火热开启!

2021年10月10日&#xff0c;DataFunSummit&#xff1a;图机器学习在线峰会将如约而至。本次峰会的形式再次创新&#xff0c;由图与推荐与DataFun联合策划、京东硅谷研发中心 首席科学家 吴凌飞博士与腾讯大数据 AI平台总监 陶阳宇博士领衔参与&#xff0c;既包括前沿的学术分享…

召回 粗排 精排,如何各司其职?

文 | 水哥源 | 知乎saying1.AB测试几乎是系统改进的不二法则&#xff0c;算法做AB&#xff0c;开发做AB&#xff0c;产品做AB&#xff0c;运营更要做AB2.召回有点像一个甩锅侠&#xff0c;我不管我给的准不准&#xff0c;我就管我把潜在的能投的都吃进来就行3.其他环节想要提升…

LeetCode 558. 四叉树交集(递归)

1. 题目 四叉树是一种树数据&#xff0c;其中每个结点恰好有四个子结点&#xff1a;topLeft、topRight、bottomLeft 和 bottomRight。四叉树通常被用来划分一个二维空间&#xff0c;递归地将其细分为四个象限或区域。 我们希望在四叉树中存储 True/False 信息。四叉树用来表示…

Online Learning算法理论与实践

背景 Online Learning是工业界比较常用的机器学习算法&#xff0c;在很多场景下都能有很好的效果。本文主要介绍Online Learning的基本原理和两种常用的Online Learning算法&#xff1a;FTRL&#xff08;Follow The Regularized Leader&#xff09;[1]和BPR&#xff08;Bayesia…

ARM架构-银河麒麟v10-server离线安装Harbor

咱也刚接触Harbor&#xff0c;在x86上部署倒是没什么问题&#xff0c;在arm上部署还是费了一些事的&#xff0c;趟了一些小坑&#xff0c;基本填平&#xff0c;小白学习中&#xff0c;请多指教。 目录 安装docker-compose环境 2.harbor离线安装准备 3.Https方式部署 3.1 生…

在斯坦福,做 Manning 的 phd 要有多强?

文 | 付瑶编 | 小轶博士的毕业论文是我们博士学位教育重要的一环&#xff0c;不仅仅是获得学位的最后一个难关&#xff0c;也是读博期间工作的总结展现。那么一个优秀的博士在读博期间会做出多少成果&#xff1f;ta 的博士论文又长什么样&#xff1f;今天&#xff0c;让我们打开…

LeetCode 655. 输出二叉树(二叉树高度二叉树遍历)

1. 题目 在一个 m*n 的二维字符串数组中输出二叉树&#xff0c;并遵守以下规则&#xff1a; 行数 m 应当等于给定二叉树的高度。列数 n 应当总是奇数。根节点的值&#xff08;以字符串格式给出&#xff09;应当放在可放置的第一行正中间。根节点所在的行与列会将剩余空间划分…

pyhon爬虫—爬取原创力文档(全面解析)

https://blog.csdn.net/weixin_46184311/article/details/115291441

开源开放 | 计算机科学示意图问答数据集CSDQA(CCKS2021)

OpenKG地址&#xff1a;http://openkg.cn/dataset/csdqa开源地址&#xff1a;http://zscl.xjtudlc.com:888/CSDQA/开放许可协议&#xff1a;CC BY-SA 4.0 &#xff08;署名相似共享&#xff09;贡献者&#xff1a;西安交通大学(王绍伟、张玲玲、杨祎、胡欣、秦涛、魏笔凡、刘均…

数据驱动精准化营销在大众点评的实践

精准化营销一直以来都是互联网营销业务在细分市场下快速获取用户和提高转化的利器。在移动互联网爆发的今天&#xff0c;数据量呈指数增长&#xff0c;如何在移动和大数据场景下用数据驱动进行精准营销&#xff0c;从而提高营销效能&#xff0c;成为营销业务部门的主要挑战之一…

LeetCode 1104. 二叉树寻路(数学位运算)

1. 题目 在一棵无限的二叉树上&#xff0c;每个节点都有两个子节点&#xff0c;树中的节点 逐行 依次按 “之” 字形进行标记。 如下图所示&#xff0c;在奇数行&#xff08;即&#xff0c;第一行、第三行、第五行……&#xff09;中&#xff0c;按从左到右的顺序进行标记&am…

构建基于Python的CI/CD流水线

构建基于Python的CI/CD流水线

再介绍一篇最新的Contrastive Self-supervised Learning综述论文

文 | 对白源 | 对白的算法屋自监督学习&#xff08;Self-supervised learning&#xff09;最近获得了很多关注&#xff0c;因为其可以避免对数据集进行大量的标签标注。它可以把自己定义的伪标签当作训练的信号&#xff0c;然后把学习到的表示&#xff08;representation&#…