搜索

第3章 第六节 逻辑挑战2:三个数怎么办 里面的问题。

查看数: 2454 | 评论数: 7 | 收藏 1
关灯 | 提示:支持键盘翻页<-左 右->
    组图打开中,请稍候......
发布时间: 2013-6-8 20:15

正文摘要:

红框里面到底  哪里不行??

回复

逢魔·JIE·时王 发表于 2020-1-23 17:37:01
到底这么写呀,对吗?
rosynirvana 发表于 2013-6-9 23:48:18
你可以当做一个issue提交给作者

点评

你很活跃哦!加油,有当版主的机会哦~~~~  发表于 2013-6-10 16:33

评分

参与人数 1啊哈币 +1 收起 理由
回遗未来 + 1 赞一个!

查看全部评分

突然觉得 发表于 2013-6-9 22:53:56
这。。。 我是初学者, 感觉两人说的都对。。。

可是 最佳答案应该给谁?  我也不会分辨啊。。。
吐槽有理 发表于 2013-6-9 01:22:34
rosynirvana 发表于 2013-6-9 01:02
但是从数学上来说,这样子做一点错都没有

并不是说有问题,只是题目要求输出最大数,这样只是违背题意而已
rosynirvana 发表于 2013-6-9 01:02:16
吐槽有理 发表于 2013-6-9 00:00
因为要求的是输出最大的数,而红框里如果a=b=c,则输出a,b,c三个值

但是从数学上来说,这样子做一点错都没有
吐槽有理 发表于 2013-6-9 00:00:01
因为要求的是输出最大的数,而红框里如果a=b=c,则输出a,b,c三个值
rosynirvana 发表于 2013-6-8 20:15:20
吐槽有理 发表于 2013-6-9 01:22
并不是说有问题,只是题目要求输出最大数,这样只是违背题意而已

我不觉得哪里违反了题意,题目中说输出最大值,a,b,c都是最大值,将a,b,c都输出完全符合题意。
如果题目的描述是,输出a,b,c中的最大值max,那么确实应该输出一个值

上面是数学角度的解释,如果在编程的角度上来讲

输出一个序列中满足条件f(x)的值,如果这个序列中有复数个值满足f(x),那么一般情况下的实现是输出第一个,这样做是为了减少memory access

但是也有例外,例如序列长度是2
一般会写成return a>b? a:b;
而非return a>=b? a:b;
两者的memory access一样,但是前面一种写法可以少打一个字符
快速回复 返回顶部 返回列表