免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
楼主: forrestgang
打印 上一主题 下一主题

华为面试题(8分钟写出代码) [复制链接]

论坛徽章:
0
91 [报告]
发表于 2006-11-15 11:06 |只看该作者
原帖由 hawk2012 于 2006-11-15 10:56 发表
假设数组a中的所有元素用a1, a2, a3, ..., an表示, 数组b中的为b1,b2,b3,...,bn表示。
那么令result = (a1 + a2 + a3+ ... + an) - (b1 + b2 + b3 + ... + bn)
                   = (a1 + a2 + a3+ ... + an) ...


所以 result = Sum - 2(b1 + b2 + b3 + ... + bn)
要使 result 为最小,只需要(b1 + b2 + b3 + ... + bn)为最大。

呵呵,没有考虑Sum - 2(b1 + b2 + b3 + ... + bn)可能为负数?

论坛徽章:
0
92 [报告]
发表于 2006-11-15 11:08 |只看该作者
是的, 是这个题目出的有问题,应该说是a b数组和的差的绝对值最小才对,不然我的算法就是最小的。

论坛徽章:
0
93 [报告]
发表于 2006-11-15 11:11 |只看该作者
原帖由 hawk2012 于 2006-11-15 11:08 发表
是的, 是这个题目出的有问题,应该说是a b数组和的差的绝对值最小才对,不然我的算法就是最小的。

确实您的想法很有新意,一般人想不到,呵呵。

论坛徽章:
0
94 [报告]
发表于 2006-11-15 11:17 |只看该作者
hawk2012的算法是正确滴?........................................你们肯定?
(b1 + b2 + b3 + ... + bn)为最大,那么结果就是最小的n个数减最大的n 个数,这样还能做出差最小..............................................................................................................?

论坛徽章:
0
95 [报告]
发表于 2006-11-15 11:22 |只看该作者
原帖由 laowolf 于 2006-11-15 11:17 发表
hawk2012的算法是正确滴?........................................你们肯定?
(b1 + b2 + b3 + ... + bn)为最大,那么结果就是最小的n个数减最大的n 个数,这样还能做出差最小................................... ...


是负数,当然是最小的。取绝对值是最大。

论坛徽章:
0
96 [报告]
发表于 2006-11-15 11:22 |只看该作者
呵呵无语了......

论坛徽章:
0
97 [报告]
发表于 2006-11-15 12:38 |只看该作者
O2O2...惊呆菜鸟无数……

论坛徽章:
0
98 [报告]
发表于 2006-11-15 14:06 |只看该作者
个人觉得 xmyth 的比较合理些

求得天人惊现,以正视听。

:em11:

论坛徽章:
0
99 [报告]
发表于 2006-11-15 14:13 |只看该作者
为啥没人评论我的想法呢?唉!

论坛徽章:
0
100 [报告]
发表于 2006-11-15 15:36 |只看该作者
如果要求a-b最小, 将a和b联合成一个数组, 然后从小到大排序不行吗?
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP