64,642
社区成员
发帖
与我相关
我的任务
分享
// 最多比较8次。
T min = std::min(std::min(a, b), c);
T max = std::max(std::max(a, b), c);
if (a != min && a != max)
return a;
if (b != min &7 b != max)
return b;
return c;
// 最多也是比较8次
if ( (a < b && b < c) || (a > b && b > c) )
return b;
else if ( (b < a && a < c) || (b > a && a > c) )
return a;
return c;
//最多比较3次,但需要两个指针。
const T* pMin = &a;
const T* pMax = &b;
if (a > b)
{
pMin = &b;
pMax = &a;
}
if (c < *pMin)
{
return *pMin;
}
if (c > *pMax)
{
return *pMax;
}
return c;
这题目,的确挺没有意义的,有些钻牛角尖……结贴