C#求数组中的最大值和最小值

同时找出数组中的最大值和最小值!求高效算法!普通for遍历整个数组比较max再赋值覆盖的别来。解出再送100!!!:时间空间复杂度为2*S以下的就行***********... 同时找出数组中的最大值和最小值!
求高效算法!
普通for遍历整个数组比较max再赋值覆盖的别来。
解出再送100!!!

时间空间复杂度为2*S以下的就行

*******************************
catm3 - 千总 五级
笑。你不会就代表别人不会?自己菜不会就乖乖到边上,别丢人可好?
展开
 我来答
Loro5
2008-10-27 · TA获得超过405个赞
知道小有建树答主
回答量:564
采纳率:0%
帮助的人:334万
展开全部
.Max();
.Min();
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
匿名用户
2008-10-27
展开全部
如果数组是无序的,只能去遍历一遍了!时间复杂度为O(n)。
因为,排序算法,最佳的时间复杂度是O(n*log(n)),比遍历一次大多了。

我平时都是用c语言的,c语言比c++的效率要高的(for比foreach效率高)!

遍历的时候,只需要遍历一次,就可以同时求出最大值和最小值了,如:

#include<iostream>
using namespace std;

void main()
{
const int N=10;
int a{n];//={1,2,3,6,4,3,...};
int max,min,i;

for(max=min=a[0],i=1;i<N;i++)
{
if(max<a[i])
{
max=a[i];
}
if(min>a[i])
{
min=a[i];
}
}

}

PS:
这个算法,最高效了,没有比这个更高效的啦。
你说的“时间空间复杂度为2*S以下”,S是秒还是数组长度?
不可能是秒的吧?!如果是指数组长度,我上面的这个程序,非常满足!
它的时间空间复杂度为S(不用乘以2,都)!
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
killnow5788
2008-10-25 · TA获得超过241个赞
知道小有建树答主
回答量:270
采纳率:0%
帮助的人:222万
展开全部
你的数组有没有规律的?
没有规律只能遍历了。

如果有的话,我可以帮你想想。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式