----------------解决方案--------------------------------------------------------
现在知道了.......
----------------解决方案--------------------------------------------------------
/*****************************************************************
** HighlightCodeV3.0 software by yzfy(雨中飞燕) http://yzfy.org **
*****************************************************************/
void FinMaxMin(int nList[], int n)
{
int Min,Max,i,n2;
n2 = n/2;
for (i=0; i<n2; ++i) //二分,较小的放在前一半
{
if(nList[i]>nList[i+n2])
{
int t = nList[i];
nList[i] = nList[i+n2];
nList[i+n2] = t;
}
}
Min = Max = nList[n-1];
for (i=0; i<n2; ++i) //找出极值
{
if (Min>nList[i]) Min = nList[i]; //前一半找
if (Max<nList[i+n2]) Max = nList[i+n2]; //后一半找
}
printf("最大值为%d 最小值为%d\n", Max, Min);
}
** HighlightCodeV3.0 software by yzfy(雨中飞燕) http://yzfy.org **
*****************************************************************/
void FinMaxMin(int nList[], int n)
{
int Min,Max,i,n2;
n2 = n/2;
for (i=0; i<n2; ++i) //二分,较小的放在前一半
{
if(nList[i]>nList[i+n2])
{
int t = nList[i];
nList[i] = nList[i+n2];
nList[i+n2] = t;
}
}
Min = Max = nList[n-1];
for (i=0; i<n2; ++i) //找出极值
{
if (Min>nList[i]) Min = nList[i]; //前一半找
if (Max<nList[i+n2]) Max = nList[i+n2]; //后一半找
}
printf("最大值为%d 最小值为%d\n", Max, Min);
}
此方法来源:腾讯笔试题
[color=white]
----------------解决方案--------------------------------------------------------
我也来玩玩
桶排应该挺快的(系数小)
----------------解决方案--------------------------------------------------------
学习了..............
----------------解决方案--------------------------------------------------------
再极端点,用超大hash表
复杂度为O(1)哈哈,不过只能在规模较小时用,否则空间承受不起
----------------解决方案--------------------------------------------------------
LS够直接............
PS: 用别人的电脑感觉不爽..........看书去了.......
[[it] 本帖最后由 中学者 于 2008-5-18 21:16 编辑 [/it]]
----------------解决方案--------------------------------------------------------
[bo]以下是引用 [un]卧龙孔明[/un] 在 2008-5-18 21:00 的发言:[/bo]
再极端点,用超大hash表
复杂度为O(1)哈哈,不过只能在规模较小时用,否则空间承受不起
再极端点,用超大hash表
复杂度为O(1)哈哈,不过只能在规模较小时用,否则空间承受不起
还不是空间的问题,你的hash函数是f(n)=n吗?
如果是的话,出两个极端的数就挂掉了
假如不是,那你怎么O(1)时间找最大最小值?
[color=white]
----------------解决方案--------------------------------------------------------
腾讯的笔试题目解法是diao 一点
----------------解决方案--------------------------------------------------------
53:交换会极大地影响效率:我的方法,每次迭代四次比较,五次赋值,三次跳转,你给出的方法不会有这样的优越性吧?
54,56#:一比一的哈希表和桶排有什么区别呢?
58#:既然是桶排,自然数据不会很BT,比如随机数据0~32767。如果BT还有谁用桶排呢?
为避免群起而攻之,光速逃………………
----------------解决方案--------------------------------------------------------