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/06/27 15:01:31
![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(](/uploads/image/z/8546259-3-9.jpg?t=c%2B%2B%E6%B1%82%E5%BE%AA%E7%8E%AF%E5%90%91%E9%87%8F%E7%9A%84%E6%9C%80%E5%A4%A7%E6%9C%80%E5%B0%8F%E5%80%BC%E9%97%AE%E9%A2%98%23include%23include%23includeusing+namespace+std%3Bint+main%28%29%7Bint+n%2Ci%3Bstd%3A%3Avector+vi%28n%2B10%29%3Bfor%28i%3D0%3Bivi%5Brear%5D%29front%3Dm%3Belsebreak%3B%7Delserear%3Dm%3B%7Dprintf%28%22%25d%5Cn%25d%5Cn%22%2Cvi%5B%28m%2B1%29%25n%5D%2Cvi%5Bm%5D%29%3Breturn+0%3B%7D%E4%BE%8B%E5%A6%82%EF%BC%9A%E8%BE%93%E5%85%A5%EF%BC%9A6+%E8%BE%93%E5%87%BA)
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