文档章节

LeetCode(65)-Power of Four

fengsehng
 fengsehng
发布于 2016/11/09 09:16
字数 182
阅读 2
收藏 0
点赞 0
评论 0

题目:

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

Example:
Given num = 16, return true. Given num = 5, return false.

Follow up: Could you solve it without loops/recursion?

思路:

  • 题意是判断一个32位的符号整数是不是4的次方
  • 对于2的次方的判断是n&(n-1)== 0
    10 => 2
    100 => 4
    1000 => 8
    10000 => 16
    100000 => 32
    1000000 => 64
    10000000 => 128
    100000000 => 256
    1000000000 => 512
    10000000000 => 1024
    100000000000 => 2048
    1000000000000 => 4096
    10000000000000 => 8192
    100000000000000 => 16384
    由图中观察可以看出来,4的次方,1都在从右往左数的奇数位,1,3,5等
    所有从2的次方移除4的次方,与上01010101010101010101010101010101,十六进制是0x555555555

代码:

public class Solution {
    public boolean isPowerOfFour(int num) {
        return num > 0 && (num&(num -1)) == 0 && (num & 0x55555555) != 0;
    }
}

© 著作权归作者所有

共有 人打赏支持
fengsehng
粉丝 4
博文 284
码字总数 214494
作品 0
朝阳
程序员
leetcode: power of three 三种解法

一、题目 leetcode 上有这么一道题,power of three. 题目如下: Given an integer, write a function to determine if it is a power of three. 要求: Could you do it without using any ......

u011303443 ⋅ 2017/08/01 ⋅ 0

LeetCode:Power of Two - 2的幂

1、题目名称 Power of Two (2的幂) 2、题目地址 https://leetcode.com/problems/power-of-two 3、题目内容 英文:Given an integer, write a function to determine if it is a power of t......

北风其凉 ⋅ 2015/08/23 ⋅ 0

Leetcode日记6

(2015/11/28) LeetCode 303 Range Sum Query - Immutable:(Easy) 1)超时的算法:每次调用sumRange函数进行一次累加运算。 2)不超时的算法:改变数组的内容,存储从0下标到当前下标所有...

fxdhdu ⋅ 2015/11/28 ⋅ 0

LeetCode:Power of Three - 数字三的幂

1、题目名称 Power of Three(数字三的幂) 2、题目地址 https://leetcode.com/problems/power-of-three/ 3、题目内容 英文:Given an integer, write a function to determine if it is a ......

北风其凉 ⋅ 2016/01/11 ⋅ 0

算法解题记录——TwoSum(leetCode#1-easy)

题目 Problem Description Given an array of integers, return indices of the two numbers such that they add up to a specific target. You may assume that each input would have exac......

三汪 ⋅ 2017/12/06 ⋅ 0

Leetcode日记8

(2015/2/3) LeetCode 4 Median of Two Sorted Arrays 题目大意:找到两个已排序数组的median。 median:中间位置的值。 算法: 参考:https://leetcode.com/discuss/15790/share-my-o-log...

fxdhdu ⋅ 2016/02/18 ⋅ 0

IBM发布Power7处理器

IBM去年便表示将在2010年上半年推出Power 7系列处理器及相关服务器产品。本周一,蓝色巨人正式公布了它 的最新武器。 Power 7处理器家族有更多的核心,改进了多线程功能,提高了服务器性能。...

红薯 ⋅ 2010/02/09 ⋅ 0

面试精选之位操作问题集锦

Java 中位运算符有与(&)、或(|)、非(~)、异或(^)、左移(<<)、右移(>>)、无符号右移(>>>),只针对 int 类型有效,也可以作用于 byte、short、char、long,当为这四种类型时,J...

JohnnyShieh ⋅ 2017/12/28 ⋅ 0

Laptop Mode Tools 1.65 发布,笔记本电源管理

Laptop Mode Tools 可让你控制笔记本上基于电源和电池的电源管理设定,相当于笔记本使用模式,可控制CPU的频率和屏幕亮度以延长电池使用时间,当低电量的时候可自动休眠。 Laptop Mode Tool...

oschina ⋅ 2014/06/21 ⋅ 0

Network UPS Tools 2.6.3 发布

Network UPS Tools (简称NUT) 是一个功能强大而且灵活的 C/S 模式的 UPS 监控工具。支持大多数的 UPS 设备,包括:APC, Belkin, Best Power, MGE, Tripp-Lite 等。 changelog: This version ...

红薯 ⋅ 2012/01/16 ⋅ 0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

解决httpclient超时设置不生效的问题

最近公司有项目需要通过http调用第三方服务,且第三方服务偶有超时,故需要设置一定的超时时间防止不响应的情况出现。 初始设置如下: [java] view plain copy //超时设置 RequestConfig re...

Mr_Tea伯奕 ⋅ 7分钟前 ⋅ 0

过滤器Filter和拦截器HandlerInterceptor

过滤器 依赖于servlet容器。在实现上基于函数回调,可以对几乎所有请求进行过滤,但是缺点是一个过滤器实例只能在容器初始化时调用一次。使用过滤器的目的是用来做一些过滤操作,获取我们想要...

hutaishi ⋅ 12分钟前 ⋅ 0

Redis入门详解(转)

Redis入门详解 Redis简介 Redis安装 Redis配置 Redis数据类型 Redis功能 持久化 主从复制 事务支持 发布订阅 管道 虚拟内存 Redis性能 Redis部署 Redis应用场景 Redis总结 Redis简介: Redi...

xiaoyaoyoufang ⋅ 24分钟前 ⋅ 0

说说javascript中的那些专业名词

DOM(Document Object Model) 文档对象模型 BOM(Browser Object Model) 浏览器对象模型 ECMA(European Computer Manufacturer's Association) 欧洲计算机制造商协会 W3C(World Wide Web Conso......

hang1989 ⋅ 44分钟前 ⋅ 0

Bootstrap Wizard 多步表单控件

废话 有一块需求是 有多步表单 点击下一步时触发验证一个范围内的表单,点击上一步或取消,清空表单并返回第一步,点击最后一步提交整个表单的 就找到了这个插件,本来自己写了一个原生的 fo...

无极之岚 ⋅ 59分钟前 ⋅ 0

如何利用Spring Cloud构建起自我修复型分布式系统

利用Netflix所打造的组件及各类大家熟知的工具,我们完全可以顺利应对由微服务以及分布式计算所带来的技术挑战。 在过去一年当中,微服务已经成为软件架构领域一个炙手可热的新名词,而且我们...

harries ⋅ 今天 ⋅ 0

临近实习前的感想

再过两星期就要开始新的一段实习了,想想去年的这个时候也在实习,心中不免思绪万千,也一直想写对2017做个总结,但一直迟迟没有下笔。 2017年的春节,我就开始准备开学后找份实习。那时候就...

无精疯 ⋅ 今天 ⋅ 0

Spring AOP(面向切面编程)

Spring AOP概念: Spring AOP 可以劫持一个执行的方法,在方法执行之前或之后添加额外的功能。通常情况下,AOP把项目中需要在多处用到的功能,比如日志、安全和事物等集中到一个类中处理,而...

霍淇滨 ⋅ 今天 ⋅ 0

人工智能、机器学习、数据挖掘以及数据分析有什么联系?

人工智能是目前炙手可热的一个领域,所有的互联网公司以及各路大迦们纷纷表态人工智能将是下一个时代的革命性技术,可与互联网、移动互联网时代的变更相媲美;AlphaGo在围棋领域战胜人类最顶...

董黎明 ⋅ 今天 ⋅ 0

使用 vue-cli 搭建项目

vue-cli 是一个官方发布 vue.js 项目脚手架,使用 vue-cli 可以快速创建 vue 项目,GitHub地址是:https://github.com/vuejs/vue-cli 一、 安装 node.js 首先需要安装node环境,可以直接到中...

初学者的优化 ⋅ 今天 ⋅ 0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部