UDN-企业互联网技术人气社区

板块导航

浏览  : 2275
回复  : 21

[社区公告] 【UDN算法每周一战】整数的二进制表达中有多少个1

[复制链接]
born的头像 楼主
发表于 2015-11-11 10:01:22 | 显示全部楼层 |阅读模式
本帖最后由 born 于 2015-11-20 10:54 编辑

UDN算法每周一战是UDN技术社区推出的算法交流活动。

算法交流要求智力与艺术想结合,不仅实现方式精巧,更要求展现形式华丽多彩。


【题目】

给定一个32位整数n,可为0,可为正,可为负,返回该整数二进制表达中1的个数。
请给出测试数据的输出结果。
测试数据:n=12345678987654321 n=-12345678987654321
请使用JavaScript实现。


【要求】
1. 请将代码发布在runjs.udn.yyuap.com,然后回复本帖,给出代码的链接地址。
2.实现题目功能,打印代码运行耗时


【评奖规则】

1.实现功能且耗时最短者胜出


【答题周期】

11月11日~11月17日23点59分59秒

【奖品】

IT类图书一本,用户可从我们的UDN赠书活动中任选一本。书单如下:

《失控》
《三体I》
《三体II》
《三体III》
《锋利的jQuery(第2版)》
《JavaScript DOM编程艺术(第2版)》
《精益思想(白金版)》   
《褚橙你也学不会》
《Java并发编程的艺术》
《React:引领未来的用户界面开发框架》
Docker开发实践》
《深入理解Java虚拟机:JVM高级特性与最佳实践》
《京东技术解密》
《R语言实战》
《Open Stack设计与实现》
《数据挖掘与数据化运营实战 思路、方法、技巧与应用》
《海量运维、运营规划之道》
《Python自动化运维:技术与最佳实践》
《Spark大数据处理技术》
《ElasticSearch 可扩展的开源弹性搜索解决方案》
《淘宝技术这十年》
《大规模分布式存储系统:原理解析与架构实战》
《Hadoop权威指南(第3版 修订版)》
《Redis设计与实现》
《大规模Java平台虚拟化与调优》
《Docker源码分析》   
《用户体验至上:移动UI完美视觉设计法则》
《移动App测试实战:顶级互联网企业软件测试和质量提升最佳实践》
《torm企业级应用:实战、运维和调优》
《Flume日志收集与MapReduce模式》
《网络安全监控实战:深入理解事件检测与响应》
《Hadoop YARN权威指南》
《人人都是网站分析师:从分析师的视角理解网站和解读数据》
《Splunk实践指南》
《Docker技术入门与实践》
《Python自动化运维:技术与最佳实践》
《构建高可用Linux服务器(第3版)》
《Kali渗透测试技术实战》
《Node.js权威指南》
《JavaScript性能优化:度量、监控与可视化》

本期结果:@dulei
获奖理由:唯一完成指定功能

说明:在二进制表示中,负数的表示方法是用正数的补码来进行表示。多位同学在负数的表示方法上出现了错误。因为最大可用数字为4294967296,最小可用数字为-4294967296,使用这两个数字进行测试时,展翔的代码计算出错,最终@dulei的代码符合要求。

温情提示:UDN是首次举办类似线上算法活动,如有疑问或者觉得活动不合理的地方还请及时指正,我们将给予被采纳意见的提出者100U币的奖励,谢谢~

发表于 2015-11-11 13:46:59 | 显示全部楼层
上周的结果什么时候出来啊
使用道具 举报

回复

发表于 2015-11-11 15:59:49 来自手机 | 显示全部楼层
http://runjs.udn.yyuap.com/code/euxjgc4x
使用道具 举报

回复

发表于 2015-11-11 16:01:21 来自手机 | 显示全部楼层
born 发表于 2015-11-11 10:01
UDN算法每周一战是UDN技术社区推出的算法交流活动。

算法交流要求智力与艺术想结合,不仅实现方式精巧,更 ...

http://runjs.udn.yyuap.com/code/euxjgc4x 这是我的代码
使用道具 举报

回复

发表于 2015-11-12 17:07:39 | 显示全部楼层
使用道具 举报

回复

发表于 2015-11-12 19:27:32 | 显示全部楼层
我想问问   “给定一个32位整数n”  和  测试数据:n=12345678987654321   之间有什么关系
点评 ( 1 ) 收起 / 展开点评

born 2015年11月16日 09:11 详情 回复

没有特别的关系 测试数据是用来对算法做验证的

使用道具 举报

回复

发表于 2015-11-13 14:06:23 | 显示全部楼层
本帖最后由 dulei 于 2015-11-13 14:25 编辑

给定的测试数据太大了吧?js解析这样的数字会丢失精度吧?
parseInt(12345678987654321 )=12345678987654320数字小的不失真的可以用下面这个吧
http://runjs.udn.yyuap.com/detail/rawg3pma

使用道具 举报

回复

发表于 2015-11-14 02:36:52 | 显示全部楼层
使用道具 举报

回复

发表于 2015-11-15 18:47:11 | 显示全部楼层
楼主头像很牛
使用道具 举报

回复

born的头像 楼主
发表于 2015-11-16 09:11:57 | 显示全部楼层
豆豆豆 发表于 2015-11-12 19:27
我想问问   “给定一个32位整数n”  和  测试数据:n=12345678987654321   之间有什么关系 ...

没有特别的关系
测试数据是用来对算法做验证的
使用道具 举报

回复

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

关于我们
联系我们
  • 电话:010-86393388
  • 邮件:udn@yonyou.com
  • 地址:北京市海淀区北清路68号
移动客户端下载
关注我们
  • 微信公众号:yonyouudn
  • 扫描右侧二维码关注我们
  • 专注企业互联网的技术社区
版权所有:用友网络科技股份有限公司82041 京ICP备05007539号-11 京公网网备安1101080209224 Powered by Discuz!
快速回复 返回列表 返回顶部