剑指offer 10题 【位运算】二进制中1的个数
来源:互联网 发布:免费淘宝手机模板 编辑:程序博客网 时间:2024/06/05 18:42
题目描述
输入一个整数,输出该数二进制表示中1的个数。其中负数用补码表示。
牛客传送门:点击打开链接public class Title10 { /** * 普通解法,将一不断地左移,然后与n进行与运算,如果结果不为0,则加一。 */ public int NumberOf1(int n) { int count = 0; int test = 1; while(test != 0){ if((n & test) != 0) count ++; test = test << 1; } return count; } /** * 最优解 */ public int NumberOf1(int n) { int count = 0; while(n != 0){ n = n & (n-1); count++; } return count; } /** * 测试 */ public static void main(String[] args) { // 10000000 00000000 00000000 00000000 一的个数为1 System.out.println(new Title10().NumberOf1(0x80000000)); // 11111111 11111111 11111111 11111111 一的个数为32 System.out.println(new Title10().NumberOf1(-1)); }}
0 0
- 剑指offer: 二进制中1的个数(位运算)
- 【剑指Offer】二进制中1的个数(位运算)
- 剑指offer 10题 【位运算】二进制中1的个数
- 剑指offer面试题10 二进制中1的个数(位运算专题)
- 【剑指offer】位运算相关-二进制中1的个数10
- 【剑指offer】2.4.3位运算——面试题10:二进制中1的个数
- 剑指offer-面试10:二进制中1的个数(位运算)
- 剑指offer——面试题10:位运算之二进制中1的个数
- 剑指offer:(10)位运算,计算二进制中1的个数
- 剑指offer面试题10:二进制中1的个数(与位运算有关)
- 《剑指offer》刷题笔记(位运算):二进制中1的个数
- Offer题10 字母表示26进制&二进制中1的个数&位运算相关题目
- 剑指Offer面试题10二进制中1的个数(位运算)附带一个进制转换题
- 剑指offer 2.4 位运算,求二进制中1的个数
- 《剑指offer》:[14]位运算以及求二进制中1的个数
- 《剑指Offer》位运算——求二进制数中1的个数
- 剑指Offer(第二版)面试题15:二进制中1的个数(位运算)
- 位运算:二进制中1的个数
- UVa 10911 Forming Quiz Teams [DP]
- 自定义toast 显示最新toast不累加时间
- iptables基础知识
- 过目不忘JS正则表达式
- July -- 程序员面试、算法研究、编程艺术、红黑树、数据挖掘5大经典原创系列集锦与总结
- 剑指offer 10题 【位运算】二进制中1的个数
- 构建可靠的网络服务器之连接的建立和终止
- Win32获取屏幕可用尺寸/获取桌面可用区域 (即除去任务栏的区域)
- A Note on CMake - 3 Key words
- ipconfig指令的使用指南
- 当程序员一天天老去.哪些人晚景凄凉
- HDU-1015 Safecracker(DFS+暴力回溯 / 五重循环)
- Django: 新建你的第一个blog应用
- Centos下安装mysql5.6