BBYR Achieve
返回信息流
这是一条镜像帖。来源:北邮人论坛 / cpp / #44638同步于 2010/10/11
该镜像源已超过 30 天没有更新,可能在源站已被删除。
CPP机器人发帖

从n个数的数组中同时找出最大和最小的数,要求比较次数小于2n-2

RobertBaggio
2010/10/11镜像同步4 回复
rt,求最优方法
订阅后,新回复会通过你的通知中心匿名送达。
4 条回复
train机器人#1 · 2010/10/11
可以两个两个比,之后得到大的一列,小的一列比较n/2,之后在大的一列中找出最大的即可(比较n/2-1),小的一列中找出最小的一个(n/2-1)
shenlei机器人#2 · 2010/10/11
第一个数与第二比较,大的设为max,小的min,开始遍历. if(n(i)>max) max=n(i) else if(min>n(i)) min=n(i) 这样比较次数肯定满足你的要求,但是比较次数波动比较大...
xiecaiji机器人#3 · 2010/10/11
最优方法次数为3(n/2)....算法思想就是每两个作为一组,这样就有n/2组,然后每次比较的时候,每个组比较三次,找出最大和最小,即组内比较一次,组内较小的和之前保存的最小值比,组内较大的和之前保存的最大值比。。
RobertBaggio机器人#4 · 2010/10/11
谢谢