C#求数组中的最大值和最小值
同时找出数组中的最大值和最小值!求高效算法!普通for遍历整个数组比较max再赋值覆盖的别来。解出再送100!!!:时间空间复杂度为2*S以下的就行***********...
同时找出数组中的最大值和最小值!
求高效算法!
普通for遍历整个数组比较max再赋值覆盖的别来。
解出再送100!!!
:
时间空间复杂度为2*S以下的就行
*******************************
catm3 - 千总 五级
笑。你不会就代表别人不会?自己菜不会就乖乖到边上,别丢人可好? 展开
求高效算法!
普通for遍历整个数组比较max再赋值覆盖的别来。
解出再送100!!!
:
时间空间复杂度为2*S以下的就行
*******************************
catm3 - 千总 五级
笑。你不会就代表别人不会?自己菜不会就乖乖到边上,别丢人可好? 展开
18个回答
展开全部
.Max();
.Min();
.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,都)!
因为,排序算法,最佳的时间复杂度是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,都)!
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
你的数组有没有规律的?
没有规律只能遍历了。
如果有的话,我可以帮你想想。
没有规律只能遍历了。
如果有的话,我可以帮你想想。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询