Leetcode--342. 4的幂
给定一个整数 (32 位有符号整数),请编写一个函数来判断它是否是 4 的幂次方。
示例 1:
输入: 16
输出: true
示例 2:
输入: 5
输出: false
进阶:
你能不使用循环或者递归来完成本题吗?
方法一:
class Solution {
public boolean isPowerOfFour(int num) {
while(num%4==0)
{
num/=4;
if(num==0||num==1)
{
break;
}
}
if(num==1)
{
return true;
}
else
{
return false;
}
}
}
方法二:位运算
4的幂都有一个特点,二进制位奇数位为1,偶数位为0
10101010101010101010101010101010,因此如果一个数和前面这个二进制数字进行&运算之后还是它本身,那么他一定奇数位为1,偶数位为0,
但是,如果这个数是20呢,比如10100,他进行&运算之后也是他本身
因此我们先进行一个判断,判断他是不是2的幂,如果是,那就说明只有最高位才为1,其他位都为0,之后再进行和10101010101010101010101010101010的&操作
而10101010101010101010101010101010的16进制写法是0x55555555
class Solution {
public boolean isPowerOfFour(int num) {
if(num<=0)
{
return false;
}
if((num&num-1)!=0)
{
return false;
}
if((num&0x55555555)==num)
{
return true;
}
return false;
}
}
Leetcode--342. 4的幂相关推荐
- LeetCode 342. 4的幂(位运算)
文章目录 1. 题目 2. 解题 2.1 通用解法 2.2 找规律 1. 题目 给定一个整数 (32 位有符号整数),请编写一个函数来判断它是否是 4 的幂次方. 示例 1: 输入: 16 输出: t ...
- LeetCode 342. 4的幂 附带《Effective C++》pdf电子书
题目描述: 给定一个整数 (32 位有符号整数),请编写一个函数来判断它是否是 4 的幂次方. 示例 1: 输入: 16 输出: true 示例 2: 输入: 5 输出: false 解法分析: 一道 ...
- LeetCode 342. 4的幂 附带《Effective C++》pdf版下载
题目描述 给出 N 名运动员的成绩,找出他们的相对名次并授予前三名对应的奖牌.前三名运动员将会被分别授予 "金牌","银牌" 和" 铜牌"( ...
- leetcode刷题笔记342 4的幂
题目描述: 给定一个整数 (32位有符整数型),请写出一个函数来检验它是否是4的幂. 示例: 当 num = 16 时 ,返回 true . 当 num = 5时,返回 false. 问题进阶:你能不 ...
- 【Leetcode | 12】342. 4的幂
给定一个整数 (32 位有符号整数),请编写一个函数来判断它是否是 4 的幂次方. 示例 1: 输入: 16 输出: true 示例 2: 输入: 5 输出: false 方法一: class Sol ...
- LeetCode 326. 3的幂
1. 题目 给定一个整数,写一个函数来判断它是否是 3 的幂次方. 示例 1: 输入: 27 输出: true示例 2: 输入: 0 输出: false示例 3: 输入: 9 输出: true示例 4 ...
- LeetCode 231. 2的幂 LeetCode 338. 比特位计数(2进制1的个数)
文章目录 1. 题目信息 2. 解题 拓展:求一个数n的2进制有多少个1? LeetCode 338 1. 题目信息 给定一个整数,编写一个函数来判断它是否是 2 的幂次方. 示例 1:输入: 1 输 ...
- leetcode算法总结 —— 快速幂算法
文章目录 1. 引出快速幂算法 2. 简化语句 3. 使用位运算来提升性能 4. 对应leetcode题型 参考的是大神的文章,这篇文章相当好 https://blog.csdn.net/qq_197 ...
- 342. 4的幂【简单】
给定一个整数 (32 位有符号整数),请编写一个函数来判断它是否是 4 的幂次方. 示例 1: 输入: 16 输出: true 示例 2: 输入: 5 输出: false 来源:力扣(LeetCode ...
- [leetcode] 342. Power of Four
题目 Given an integer (signed 32 bits), write a function to check whether it is a power of 4.Example: ...
最新文章
- matlab有限域多项式除法_椭圆曲线密码学简介(二):有限域的椭圆曲线及离散对数问题...
- requestmapping配置页面后_@RequestMapping使用须知
- 使用Notepad++开发C#,一个复杂点的csscript脚本
- 这个情人节,工程师用阿里云来试着表达不一样的爱意
- python小工具(一)
- Angular和.NET Core Web API入门应用程序
- 读取文件卡顿_CPU占用100%,电脑卡顿原来可以这样解决!多任务操作也运行如飞...
- bootstrap今天的学习心得
- linux刻录文件,Linux命令行下刻录CD-ROM数据光盘详细过程
- MySQL 用户表损坏 无法导出数据 无法使用mysql_update mysqd --update=FORCE无效 措施之一
- 什么是 GC,有什么作用?
- RLC串联电路截止频率
- 点乘/内积/数量积;叉乘/向量积;矩阵乘法;哈达马积;克罗内克积;卷积
- ViewFlipper-仿淘宝垂直广告滚动
- 2022-2023年最新最全计算机相关专业毕设选题推荐
- js 前端时间选择器
- 管理学总论之管理者的角色和技能
- CMS几种GC模式解读
- python 生成唯一ID
- 再续局域网arp***
热门文章
- LeetCode 525. 连续数组(前缀和+哈希)
- LeetCode 973. 最接近原点的 K 个点(排序/优先队列/快排)
- LeetCode 873. 最长的斐波那契子序列的长度(动态规划)
- LintCode 1652. 区间异或 II
- LeetCode 648. 单词替换(Trie树)
- POJ 2785 有多少种4个数相加等于0的方案(二分查找 or hash)
- python基础实例 韦玮 pdf_Python基础实例教程(微课版)
- java跳转html页面_springboot 2.0.8 跳转html页面
- python安装requests库超时_【Python 库】requests 详解超时和重试
- SpringCloud中文社区转型Spring4All欢迎您的加入