博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
No.45 -LeetCode338 二进制有多少个1
阅读量:4059 次
发布时间:2019-05-25

本文共 395 字,大约阅读时间需要 1 分钟。

比较快的是,a&(a-1)

class Solution {public:    vector
countBits(int num) { vector
ans; ans.push_back(0); for(int i=1;i<=num;i++){ int a = i; int sum = 1; int b = a&(a-1); while( b != 0){ //printf("<%d %d>\n",a,a-1); sum ++; a = b; b = a&(a-1); } ans.push_back(sum); } return ans;}};

转载地址:http://rnwji.baihongyu.com/

你可能感兴趣的文章
来给毕设加点鸡汤
查看>>
第22课:Greenplum 的执行计划
查看>>
第21课:聚集与分组的执行说明
查看>>
第20课:连接路径的执行说明
查看>>
第19课:扫描计划路径的执行
查看>>
第18课:连接代价和 Non-SPJ 代价
查看>>
第17课:扫描代价计算
查看>>
第16课:选择最优执行计划
查看>>
第15课:参数化路径
查看>>
第14课:选择率
查看>>
第13课:表达式提取
查看>>
第12课:统计信息
查看>>
第11课:逻辑优化汇总
查看>>
第10课:表达式的规范化
查看>>
第09课:等价推理
查看>>
第08课:消除外连接
查看>>
第07课:子查询提升
查看>>
第06课:子连接提升
查看>>
第05课:连接顺序交换规则
查看>>
第04课:谓词下推
查看>>