读书人

问一个算法方面面试题目,该怎么解决

发布时间: 2012-03-14 12:01:13 作者: rapoo

问一个算法方面面试题目
实现一个方法,
传入一个大于5个元素的整数数组,初始数据未排序,
返回数组中,最大的前5个元素

要求:
不能在方法中进行排序.
语言不限.

我今天的面试题目,自己做出来了,就是感觉实现太复杂,求大家看看,尽可以简单的实现.
.谢谢了.

[解决办法]
可否使用大根堆,构造五次即可输出前五个数
[解决办法]
mark 借助于一些有这个属性的类去操作 比如datagridview
[解决办法]

C# code
        private void button1_Click(object sender, EventArgs e)        {            int[] a = { 5, 7, 23, 37, 13, 83 };            int[] b = GetFiveMax(a);        }        public int[] GetFiveMax(int[] array)        {                        Array.Sort<int>(array, new Comparison<int>(func));            Array reArray = new int[5];            Array.Copy(array, reArray, 5);            return (int[])reArray;        }        public int func(int a, int b)        {            return b - a;        }
[解决办法]
冒泡能实现啊,而且不用全部排序,5次大循环就够了,也不麻烦。
[解决办法]
探讨
C# code
private void button1_Click(object sender, EventArgs e)
{
int[] a = { 5, 7, 23, 37, 13, 83 };
int[] b = GetFiveMax(a);
}

public int[] GetFiveMax(int[] array)
{
Array.Sort<int>(array, new Comparison<int>(func));
Array reArray = new int[5];
Array.Copy(array, reArray, 5…

读书人网 >asp.net

热点推荐