当前位置: 代码迷 >> C语言 >> 查找最大和最小
  详细解决方案

查找最大和最小

热度:185   发布时间:2008-05-18 20:49:58.0
你难道不知道,燕子都是会分身术的么?
----------------解决方案--------------------------------------------------------
现在知道了.......
----------------解决方案--------------------------------------------------------
/*****************************************************************
** 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函数是f(n)=n吗?
如果是的话,出两个极端的数就挂掉了
假如不是,那你怎么O(1)时间找最大最小值?

[color=white]
----------------解决方案--------------------------------------------------------
腾讯的笔试题目解法是diao   一点
----------------解决方案--------------------------------------------------------
53:交换会极大地影响效率:我的方法,每次迭代四次比较,五次赋值,三次跳转,你给出的方法不会有这样的优越性吧?
54,56#:一比一的哈希表和桶排有什么区别呢?
58#:既然是桶排,自然数据不会很BT,比如随机数据0~32767。如果BT还有谁用桶排呢?

为避免群起而攻之,光速逃………………
----------------解决方案--------------------------------------------------------
  相关解决方案