当前位置: 首页 > news >正文

网站开发教程pdf网络销售

网站开发教程pdf,网络销售,微信链接的微网站怎么做的,深圳网站建设公司联最近看到一个题&#xff0c;就是算一个int里面有多少个1。这个还是挺常用的&#xff0c;也不难&#xff0c;就是判断最后一位是不是1&#xff0c;然后移位&#xff0c;很快就能给答案。 int hammingWeight(int n) {int result 0;for(int i 0; i < 31; i){if(n & 1)res…

最近看到一个题,就是算一个int里面有多少个1。这个还是挺常用的,也不难,就是判断最后一位是不是1,然后移位,很快就能给答案。

    int hammingWeight(int n) {int result = 0;for(int i = 0; i < 31; i++){if(n & 1)result++;n = n >> 1;}return result;}

但是提交上去看到答案也不是很理想。

主要是内存用的不是很好。查一下这个,是有个Brian Kernighan算法,算法大概是这样的:

int hammingWeight(int n) {        while (n) {n &= (n - 1);++count;}
}

其中关键的就是这句n &= (n - 1);

也就是n = n & (n - 1);

仔细看看这个什么意思呢,关于位操作,之前其实写过一篇。C语言位操作详解:基础原理与实际应用示例-CSDN博客

 关于&,是这样的:

只有两个位都是1时,结果位才是1。
可以用来清除某一段位数据

以6为例子:

二进制是110,那么-1就是101,再&之后就是100(4)。

之后-1就是011,再&之后就是000。跳出循环。

本质就是跳过了0,每次只处理1。

再白话一点就是每次从后清掉一个1,直到清完。

相比以前要硬循环31次,确实巧妙了一些。。。

其实刚刚做的时候,就在想能不能减少循环的次数,其实如果多想几天,也许这种解法也能想到。到时候就也能青史留名啦。。。

http://www.dtcms.com/a/542398.html

相关文章:

  • 网站图片上传却不显示不出来亳州网站网站建设
  • 工商网站备案办法深圳 网站托管
  • 【元器件专题】电容核心知识-无极性电容(二)
  • progen2 docker镜像打包命令文档
  • 陇南市城乡建设局网站佛山网站建设 合优
  • 门户网站推广方案台州品牌设计公司
  • 临沧市住房和城乡建设局网站类模板模板下载网站有哪些
  • 网站备案幕布要求广西柳州网站建设
  • 广西住房与城乡建设部网站在线探测网站开发语言
  • 余姚市住房和城乡建设局网站网站优化推广哪家好
  • 稍微写了个屏保(GXDE 一言屏保)
  • 广州h5网站建设公司wordpress 100万数据
  • 【工具】llama factory默认的optimizer
  • (论文速读)HVI:一种用于弱光图像增强的新色彩空间
  • 随笔|富在术数,不在劳身
  • server2008做DNS与网站带论坛的网站模板下载地址
  • OpenObserve轻量化监控:10分钟部署全链路观测平台,资源占用降低70%!
  • 网站用图要怎么做怎么查有做网站的公司
  • 电子商务网站怎么备案网上购物网站建设的实训报告
  • RocketMQ 消费模式
  • 广东网站开发公司网店运营计划书
  • 网站备案注意网站分为
  • 菠菜网站如何做推广wordpress中常用插件安装包
  • HTML基础语法
  • 网站建设发布雅安移动网站建设
  • 王梓同亮相IMX国际音乐季,畅谈音乐创作理念
  • 企业网站管理百度网站打开
  • Hive安装部署
  • 初始网络通信
  • 从MSF载荷生成到Windows防火墙绕过