c++求循环向量的最大最小值问题#include#include#includeusing namespace std;int main(){int n,i;std::vector vi(n+10);for(i=0;ivi[rear])front=m;elsebreak;}elserear=m;}printf("%d\n%d\n",vi[(m+1)%n],vi[m]);return 0;}例如:输入:6 输出
来源:学生作业帮助网 编辑:六六作业网 时间:2024/12/18 15:24:37
c++求循环向量的最大最小值问题#include#include#includeusing namespace std;int main(){int n,i;std::vector vi(n+10);for(i=0;ivi[rear])front=m;elsebreak;}elserear=m;}printf("%d\n%d\n",vi[(m+1)%n],vi[m]);return 0;}例如:输入:6 输出
c++求循环向量的最大最小值问题
#include
#include
#include
using namespace std;
int main()
{
int n,i;
std::vector vi(n+10);
for(i=0;ivi[rear])
front=m;
else
break;
}
else
rear=m;
}
printf("%d\n%d\n",vi[(m+1)%n],vi[m]);
return 0;
}
例如:输入:6 输出:3
13 18 20 3 6 9 20
这个为什么会超时?
c++求循环向量的最大最小值问题#include#include#includeusing namespace std;int main(){int n,i;std::vector vi(n+10);for(i=0;ivi[rear])front=m;elsebreak;}elserear=m;}printf("%d\n%d\n",vi[(m+1)%n],vi[m]);return 0;}例如:输入:6 输出
你这个算法时间复杂度是多少?不过无论是代码还是算法看起来都不是太好
如果对时间复杂度要求不是太高,直接用个sort排序,输出第一个和最后一个元素就是最小值和最大值了,代码也比较简单,时间复杂度为O(nlogn),如下:
#include
#include
#include
using namespace std;
int main()
{
int n,i;
cin>>n;
vector vi(n);
for(i=0;i>n;
vector vi(n);
for(i=0;i