问一个算法方面面试题目,该怎么解决
问一个算法方面面试题目
实现一个方法,
传入一个大于5个元素的整数数组,初始数据未排序,
返回数组中,最大的前5个元素
要求:
不能在方法中进行排序.
语言不限.
我今天的面试题目,自己做出来了,就是感觉实现太复杂,求大家看看,尽可以简单的实现.
.谢谢了.
------解决方案--------------------
可否使用大根堆,构造五次即可输出前五个数
------解决方案--------------------
mark 借助于一些有这个属性的类去操作 比如datagridview
------解决方案--------------------
实现一个方法,
传入一个大于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次大循环就够了,也不麻烦。
------解决方案--------------------