题目描述:

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

示例 1:

输入: 16
输出: true
示例 2:

输入: 5
输出: false

解法分析:

一道easy级别的数学题。很容易发现,4的幂一定是最高比特位为1,然后带n个0,且n必须为偶数。

class Solution {
public:bool isPowerOfFour(int num) {int bit_0_cnt = 0;int bit_1_cnt = 0;int tmp = num;do {if (tmp & 0x1) {++bit_1_cnt;} else {++bit_0_cnt;}if (bit_1_cnt > 1) {return false;}tmp >>= 1;} while (tmp);return bit_1_cnt == 1 && ((bit_0_cnt & 0x1) == 0);}
};

上述代码用C++编写,学习C++推荐Effective C++ 第三版(中文)电子书pdf下载链接:
链接: https://pan.baidu.com/s/1QNMlG_b_uRA5frwpJ3JXFQ

提取码获取方式:关注微信公众号ziyuanjihe88,回复关键字:1150

LeetCode 342. 4的幂 附带《Effective C++》pdf电子书相关推荐

  1. LeetCode 342. 4的幂 附带《Effective C++》pdf版下载

    题目描述 给出 N 名运动员的成绩,找出他们的相对名次并授予前三名对应的奖牌.前三名运动员将会被分别授予 "金牌","银牌" 和" 铜牌"( ...

  2. LeetCode 342. 4的幂(位运算)

    文章目录 1. 题目 2. 解题 2.1 通用解法 2.2 找规律 1. 题目 给定一个整数 (32 位有符号整数),请编写一个函数来判断它是否是 4 的幂次方. 示例 1: 输入: 16 输出: t ...

  3. leetcode刷题笔记342 4的幂

    题目描述: 给定一个整数 (32位有符整数型),请写出一个函数来检验它是否是4的幂. 示例: 当 num = 16 时 ,返回 true . 当 num = 5时,返回 false. 问题进阶:你能不 ...

  4. 【Leetcode | 12】342. 4的幂

    给定一个整数 (32 位有符号整数),请编写一个函数来判断它是否是 4 的幂次方. 示例 1: 输入: 16 输出: true 示例 2: 输入: 5 输出: false 方法一: class Sol ...

  5. LeetCode 326. 3的幂

    1. 题目 给定一个整数,写一个函数来判断它是否是 3 的幂次方. 示例 1: 输入: 27 输出: true示例 2: 输入: 0 输出: false示例 3: 输入: 9 输出: true示例 4 ...

  6. LeetCode 231. 2的幂 LeetCode 338. 比特位计数(2进制1的个数)

    文章目录 1. 题目信息 2. 解题 拓展:求一个数n的2进制有多少个1? LeetCode 338 1. 题目信息 给定一个整数,编写一个函数来判断它是否是 2 的幂次方. 示例 1:输入: 1 输 ...

  7. leetcode算法总结 —— 快速幂算法

    文章目录 1. 引出快速幂算法 2. 简化语句 3. 使用位运算来提升性能 4. 对应leetcode题型 参考的是大神的文章,这篇文章相当好 https://blog.csdn.net/qq_197 ...

  8. 342. 4的幂【简单】

    给定一个整数 (32 位有符号整数),请编写一个函数来判断它是否是 4 的幂次方. 示例 1: 输入: 16 输出: true 示例 2: 输入: 5 输出: false 来源:力扣(LeetCode ...

  9. [leetcode] 342. Power of Four

    题目 Given an integer (signed 32 bits), write a function to check whether it is a power of 4.Example: ...

最新文章

  1. 推荐8个实用的办公工具,让你体验起飞的感觉
  2. AspxCallBack控件的CallBack事件
  3. 【数据平台】python数据集连接和组合
  4. android控件的对齐方式(转)
  5. 三路合并 —— Git 学习笔记 17
  6. Linux 线程与互斥锁的使用
  7. 操作系统知识——互斥和死锁
  8. 基于 Roslyn 实现一个简单的条件解析引擎
  9. Java中的NIO非阻塞编程
  10. C程序员要学C++吗?
  11. Supervisor的作用与配置
  12. linux刷显卡bios版本,一种Linux系统下显卡刷新BIOS的方法与流程
  13. IOS环境下APP应用完整性测试流程
  14. mysql教学磁力链_价值1000元的磁力链搜索源码PHP+python+mysql 一键搭建
  15. java集成easyExcel动态生成表头并在浏览器下载excel
  16. Pycharm打开Project(工程)时停留在preparing workspace时间过长,导致打开很慢的解决方法...
  17. Linux 帮助手册安装
  18. 程序员杂志在线阅读 豆瓣的架构—专访豆瓣网站的技术总监洪强宁
  19. 电脑蓝屏了怎么办修复,电脑蓝屏解决修复方法
  20. markdown基本语法.md

热门文章

  1. bzoj 1232 [Usaco2008Nov]安慰奶牛cheer
  2. 淘宝API-物流发货接口
  3. 计算机指令中的操作部分指的是什么,什么是指令?计算机的指令由哪两部份组成?什么是程序?...
  4. suricata中的单模匹配和多模匹配
  5. react 生命周期详解
  6. 3岁小孩被卷入车轮身亡
  7. Processor Microarchitecture(Mark D.Hill ):Cache
  8. linux时间同步命令sntp,教你如何如何进行域内时间同步及时间常用命令总结
  9. 博学谷 - CSS笔记23 - 常见布局技巧
  10. SpringBoot+MyBatis项目Dao层最简单写法