하나가 하나 ++ 빠른 C에있는 같은 길이의 벡터에 대한 최대 및 최소 값을 찾기 위해 두 가지 방법을 다음과 같은 사항에 대해 알고 있나요의 최소값 시간 복잡도 O :최대 값과 C++
1.
std::sort(vector.begin(),vector.end());
vector.erase(std::unique(vector.begin(),vector.end()),vector.end());
min=vector.front();
max=vector.back();
2.
max=*max_element(vector.begin(),vector.end());
min=*min_element(vector.begin(),vector.end());
직접 해결할 수있는 * 노력 *을 보여줄 수 있습니까? –
복잡성으로 인해 문서를 읽으십시오. * "무엇이 더 빠릅니까"*, 측정하십시오. 또한,'std :: minmax_element'를 사용하십시오. –
모든 알고리즘에는 문서화 된 복잡성이 있습니다. min과 max를 찾기 위해 벡터를 정렬 한 후에'erase()'를 사용할 필요가 없습니다. – Peter