leetcode上面的很简单的题目

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?

python解决方案:

class Solution(object):
    def isPowerOfFour(self, num):
    
    """
    :type num: int
    :rtype: bool
    """
    while num > 0 and num & 3 == 0:
        num >>= 2
    return num == 1

题解:

如果是4的倍数,表示成二进制的话

4  100

16   10000

64   1000000

就是这种形式

所以代码的思路就是

整型的num

每回判断它的后两位是不是0 (也即和3相与结果是不是0)

然后num=num/4  (即右移两位)

判断最后剩下的是不是一。

最新文章

  1. java编程题
  2. Oracle 过程控制语句整理
  3. Asp.net的服务器推技术 (Server Push)
  4. 6.开放-关闭原则(Open-Close Principle)
  5. 黑马程序员—C语言的特点和关键字
  6. AVR单片机的BOOT区
  7. 基于.net的分布式系统限流组件
  8. 更新RecyclerView的好方法
  9. [HDU5536] Chip Factory
  10. Filebeat的Registry文件解读
  11. jmeter_用户并发登录
  12. python中base64编码与解码
  13. python-django rest framework框架之分页
  14. Python2.7-sched
  15. 上传 第三方jar包 nexus
  16. 武汉Uber优步司机奖励政策
  17. spring quartz 配置多个定时任务
  18. Linux查看系统位数
  19. 【Teamviewer】Teamviewer远程访问工具使用方法
  20. 高速改动android系统默认日期方法

热门文章

  1. mysql循环操作
  2. (转)Redis 的 5 个常见使用场景
  3. python笔记7:日期和时间
  4. Python中的网络编程
  5. LeetCode 22. Generate Parentheses
  6. 改变linux默认配色方案(dircolors和dircolors-solarized使用)
  7. Kafka基本原理
  8. 手机端页面rem自适应脚本
  9. 第三十三篇:使用uiresImporter生成uires.idx及skin.xml
  10. 学习微信小程序之css5