leetcode-190&191 Reverse Bits & Number of 1 Bits
2015-07-08 12:01
447 查看
一、190 Reverse Bits
Reverse bits of a given 32 bits unsigned integer.
For example, given input 43261596 (represented in binary as 00000010100101000001111010011100), return 964176192 (represented in binary as 00111001011110000010100101000000).
代码:
二、191 Number of 1 Bits.
Write a function that takes an unsigned integer and returns the number of ’1’ bits it has (also known as the Hamming weight).
For example, the 32-bit integer ’11’ has binary representation 00000000000000000000000000001011, so the function should return 3.
计算非负整数的二进制中1的个数。
时间8ms。
代码:
Reverse bits of a given 32 bits unsigned integer.
For example, given input 43261596 (represented in binary as 00000010100101000001111010011100), return 964176192 (represented in binary as 00111001011110000010100101000000).
代码:
class Solution { public: uint32_t reverseBits(uint32_t n) { stack<int> s; int k=0; while( n != 0) { s.push(n%2);//存储二进制码 n /= 2; k++;//计算位数 } uint32_t sum=0; for(int i=k; i > 0; i--) { sum = sum + s.top()*pow(2 , 32-i);//逆顺序求值 s.pop(); } return sum; } };
二、191 Number of 1 Bits.
Write a function that takes an unsigned integer and returns the number of ’1’ bits it has (also known as the Hamming weight).
For example, the 32-bit integer ’11’ has binary representation 00000000000000000000000000001011, so the function should return 3.
计算非负整数的二进制中1的个数。
时间8ms。
代码:
class Solution { public: int hammingWeight(uint32_t n) { int k=0; while(n != 0) { if( n % 2) k++; n /= 2; } return k; } };
相关文章推荐
- brew 、carthage 安装
- javascript笔记04:let语句 和 yield语句 和 with语句
- VS2013:Unit Test 单元测试入门
- CentOS下装oracle 12c(命令行模式安装)
- Object-c 纯手写方法CRC8,16,32,跟我用笔计算的一样,不过跟那些代码算法结果32位的不同
- VS2013(update4) + wdk8.1 驱动开发环境搭建
- unknow system variable 'language'
- Linux文件权限属性后面的点的含义(ls -l)
- Python实现批量修改文件名实例
- 高精度测量
- mysql主从复制之新库
- asp.net利用自定义Http处理程序实现URL伪静态之初探
- 拷贝80关关卡copy_maps.py
- ELK最新版实战配置检索nginx日志
- Xcode6添加类别
- Redis-博文功能实现
- android完美截屏
- iOS原生地图开发指南续——大头针与自定义标注
- 2012年5月SAT香港真题解析
- ansible学习之--安装Svn