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;
    }
}

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

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

相关文章

bzoj 1731: [Usaco2005 dec]Layout 排队布局【差分约束】

差分约束裸题&#xff0c;用了比较蠢的方法&#xff0c;先dfs_spfa判负环&#xff0c;再bfs_spfa跑最短路 注意到“奶牛排在队伍中的顺序和它们的编号是相同的”&#xff0c;所以\( d_i-d_{i-1}>0 \),连(i,i-1,0)&#xff1b;然后对于\( d_i-d_j<L \)&#xff0c;连(j,i,…

从GPT-3到DETR,一起来盘点2020有哪些突破?

来源&#xff1a;深度学习技术前沿2020年是巨大飞跃的一年。从OpenAI的GPT-3&#xff0c;再到AlphaFold&#xff0c;都是令人振奋的成就。与此同时&#xff0c;数据科学在机器学习、自然语言处理&#xff08;NLP&#xff09;、计算机视觉等领域中蓬勃发展。一起来逐一盘点2020的…

java script 技巧_java script 技巧

事件源对象event.srcElement.tagNameevent.srcElement.type捕获释放event.srcElement.setCapture();event.srcElement.releaseCapture();事件按键event.keyCodeevent.shiftKeyevent.altKeyevent.ctrlKey事件返回值event.returnValue鼠标位置event.xevent.y窗体活动元素document…

个人作业5——软工个人总结

一、请回望开学时的第一次作业&#xff0c;你对于软件工程课程的想象 对比开篇博客你对课程目标和期待&#xff0c;“希望通过实践锻炼&#xff0c;增强计算机专业的能力和就业竞争力”&#xff0c;对比目前的所学所练所得&#xff0c;在哪些方面达到了你的期待和目标&#xff…

我国5G基站达71.8万个,助力人工智能发展!

来源&#xff1a;新华社2020中国人工智能高峰论坛暨中国人工智能大赛成果发布会23日在厦门举办。论坛上&#xff0c;中国工业和信息化部副部长刘烈宏介绍&#xff0c;截至今年11月&#xff0c;我国累计建成5G基站71.8万个&#xff0c;为人工智能海量数据的成长和传输提供了坚实…

java如何对list进行排序_java中如何对list进行排序

java类中用Collections的sort方法对一个list进行排序&#xff0c;比较简单先建一个User对象public class User {public String name;public Integer age;public Integer getAge() {return age;}public void setAge(Integer age) {this.age age;}public String getName() {retu…

LR中url和html两种录制模式

http://www.cnblogs.com/fnng/archive/2013/02/28/2937805.html转载于:https://www.cnblogs.com/zzzao/p/9196044.html

《自然》预测2021年值得关注的科学事件

来源&#xff1a;世界科技研究与发展作者&#xff1a;黄小容2020年12月22日&#xff0c;Nature官网发布了对2021年最值得关注科学事件的预测。1 气候变化问题卷土重来

Leetcode--3. 无重复字符的最长子串

给定一个字符串&#xff0c;请你找出其中不含有重复字符的 最长子串 的长度。 示例 1: 输入: "abcabcbb" 输出: 3 解释: 因为无重复字符的最长子串是 "abc"&#xff0c;所以其长度为 3。 示例 2: 输入: "bbbbb" 输出: 1 解释: 因为无重复字符…

java语言_java语言学习

现在最流行的编程语言就是java了&#xff0c;学习java要怎样学习&#xff0c;有要注意哪些呢&#xff1f;首先要确定学习将来要干嘛&#xff0c;确定好之后就一直朝着这个方向努力&#xff0c;不放弃就行了。首先&#xff0c;需要明确的是Java已经不是一门简单的语言&#xff0…

重磅!基金委发布科研不端行为调查处理办法

编辑 ∑Gemini来源&#xff1a;国家自然科学基金委关于印发《国家自然科学基金项目科研不端行为调查处理办法》的通知国科金发诚〔2020〕96号各局&#xff08;室&#xff09;、科学部&#xff0c;机关党委&#xff0c;各直属单位&#xff1a;《国家自然科学基金项目科研不端行为…

Leetcode--16. 最接近的三数之和

给定一个包括 n 个整数的数组 nums 和 一个目标值 target。找出 nums 中的三个整数&#xff0c;使得它们的和与 target 最接近。返回这三个数的和。假定每组输入只存在唯一答案。 例如&#xff0c;给定数组 nums [-1&#xff0c;2&#xff0c;1&#xff0c;-4], 和 target 1…

洛谷 P1377 [TJOI2011]树的序 解题报告

P1377 [TJOI2011]树的序 题目描述 众所周知&#xff0c;二叉查找树的形态和键值的插入顺序密切相关。准确的讲&#xff1a;1、空树中加入一个键值\(k\)&#xff0c;则变为只有一个结点的二叉查找树&#xff0c;此结点的键值即为\(k\)&#xff1b;2、在非空树中插入一个键值\(k\…

不能编程、烧钱、没用?潘建伟直播回应“九章”量子计算争议

来源&#xff1a;腾讯科技在200秒时间内&#xff0c;76个光子穿过中国科学技术大学潘建伟团队精心构筑的光学网络&#xff0c;完成了5000万个样本的高斯玻色采样。而同样一道数学题交给世界上最顶尖 的超级计算机“富岳”&#xff0c;需要6亿年&#xff0c;差距超过了百万亿&a…

Leetcode--209. 长度最小的子数组

给定一个含有 n 个正整数的数组和一个正整数 s &#xff0c;找出该数组中满足其和 ≥ s 的长度最小的连续子数组。如果不存在符合条件的连续子数组&#xff0c;返回 0。 示例: 输入: s 7, nums [2,3,1,2,4,3] 输出: 2 解释: 子数组 [4,3] 是该条件下的长度最小的连续子数组…

java 继承类_java类的继承

继承就是在一个现有类型的基础上&#xff0c;通过增加新的方法或者重定义已有方法(重写)的方式&#xff0c;产生一个新的类型。继承是面向对 象的三个基本特征——封装、继承、多态的其中之一&#xff0c;我们在使用java时编写的每一个类都是在继承&#xff0c;因为在java语言 …

Leetcode--287. 寻找重复数

给定一个包含 n 1 个整数的数组 nums&#xff0c;其数字都在 1 到 n 之间&#xff08;包括 1 和 n&#xff09;&#xff0c;可知至少存在一个重复的整数。假设只有一个重复的整数&#xff0c;找出这个重复的数。 示例 1: 输入: [1,3,4,2,2] 输出: 2 示例 2: 输入: [3,1,3,4…

2021年,神经科学AI有这几大趋势

来源&#xff1a;The Next Web作者&#xff1a;Tristan Greene编译&#xff1a;科技行者新的一年正向我们招手。延续优良的革命传统&#xff0c;又到了发布最新一期AI专家预测报告的时候。各位受访专家将结合自己的所感所知、实验室发现以及企业动态为我们预测新一年中人工智能…

深度遍历和广度遍历

深度优先 例如下图&#xff0c;其深度优先遍历顺序为 1->2->4->8->5->3->6->7 广度优先 如下图&#xff0c;其广度优先算法的遍历顺序为&#xff1a;1->2->3->4->5->6->7->8 转载于:https://www.cnblogs.com/bigman-bugman/p/920252…

java ejb项目_Maven创建EJB项目结构

可以用maven创建EJB项目的结构。1、打开cmd2、输入一下内容mvn archetype:generate -DarchetypeGroupIdorg.codehaus.mojo.archetypes -DarchetypeArtifactIdpom-root -DarchetypeVersion1.1 -DarchetypeRepositoryhttp://repo.maven.apache.org/maven2 -DgroupIdcom.XXX -Dart…