腾讯面试中一道算法题:一个数N 的2进制表现形式中1的个数
来源:互联网 发布:笔记本win7找不到网络 编辑:程序博客网 时间:2024/06/03 12:00
这是一个很经典的算法题,方法有很多,这里只写自己会的几个。
方法一 移位
算法:
int bitCont(unsigned int n){int c=0; //1的个数while(n>0){c+=n&1;n>>=1; //右移1位,相当于减一}return c;}
通过移位,算法简单易懂,就不做详细讲解了。注意循环次数等于n的位数,若n是32位的,则循环32次。
方法二
算法:
int bitCount(unsigned int n){int c=0; //1的个数while(n>0){c++;n=n&(n-1);}}
该方法运算速度快,与1的个数有关,同N的大小无关
0 0
- 腾讯面试中一道算法题:一个数N 的2进制表现形式中1的个数
- 每天一道算法题(2)——求整数的2进制表示中1的个数
- 每天一道算法题(2)——求整数的2进制表示中1的个数
- 获取一个整数的16进制表现形式
- 常见面试算法题:N个数中寻找仅出现过1次的数
- 算法题:求N!末尾0的个数和求二进制数中1的个数
- 每天一道算法题——二进制数中1的个数
- 10.编码:写一个c函数,实现将16进制表现形式的字符串转化为整数。例如,输入”1a”,返回26,输入“FE”,返回254
- 经典算法一个数二进制中1的个数
- 程序员面试题100题第22题——整数2进制表示中1的个数
- 求一个数二进制中1的个数(优化)。求一个数是不是2的n次方
- 腾讯2015校招面试中一道算法题
- 网易游戏笔试题:输入一个数n,返回一个数组,数组中每个元素对应[0,n]每个数的二进制中1的个数
- 腾讯面试题——返回一个数二进制序列中1的个数
- 面试真题:求二进制数中1的个数
- 1.求一个整数的二进制中1的个数 2.判断一个数是否是2的n次方
- 判断一个数中1的个数
- 统计一个数中1的个数
- Deleted Index Entries
- 笔记本电脑使用的11个酷炫技巧
- CentOS下Qt安装
- 设计模式之深入了解
- 【POJ】3207 Ikki's Story IV - Panda's Trick 2-sat
- 腾讯面试中一道算法题:一个数N 的2进制表现形式中1的个数
- Hibernate Annotation (Hibernate 注解)
- ios类方法和实例方法的区别和使用场景
- android版本更新
- va_start和va_end使用详解
- LeetCode | Single Number II(单个数字II)
- cocos2d-x打开网页android与ios平台
- Error parsing XML: not well-formed (invalid token) 报错,找不出原因
- makefile——编译所有.c文件为可执行文件