[알고리즘 서론] 최대 치 와 최소 치 를 동시에 찾 습 니 다.
비교 에서 만난 최대 치 와 최소 치 를 기록 합 니 다.입력 한 요 소 를 두 가지 로 비교 한 다음 현재 의 최대 치, 최소 치 와 비교 합 니 다.이렇게 하면 두 개의 원 소 를 원래 의 네 번 이 아니 라 세 번 비교 해 야 한다.
구현 코드 는 다음 과 같 습 니 다:
void MiniNum()
{
const int size = 100000;
int * array_list = new int [sizeof(int)*size];
int max = 66666;/* */
int min = -90;/* */
int tmp_max = 0;/* */
int tmp_min = 0;/* */
srand(0);
for(int i=0;i<size;i++)
{/* */
int ran_num=rand()% size;
if(i == size/2)
{
array_list[i] = min;
}
else if(i == size/3)
{
array_list[i] = max;
}
else
{
array_list[i] = ran_num;
}
}
/* */
if(size % 2 == 0)
{
if(array_list[0] > array_list[1])
{
tmp_max = array_list[0];
tmp_min = array_list[1];
}
else
{
tmp_max = array_list[1];
tmp_min = array_list[0];
}
}
else
{
tmp_max = array_list[0];
tmp_min = array_list[0];
}
for(int i=0;i<size -1;i+=2)
{/* */
int min_tmp ;
int max_tmp;
if(array_list[i] >= array_list[i+1])
{
min_tmp = array_list[i+1];
max_tmp= array_list[i];
}
else
{
min_tmp = array_list[i];
max_tmp= array_list[i+1];
}
if(max_tmp > tmp_max)
{
tmp_max = max_tmp;
}
if(min_tmp < tmp_min)
{
tmp_min = min_tmp;
}
}
std::cout<<tmp_max<<std::endl;
std::cout<<tmp_min<<std::endl;
/*for(int i=0;i<size;i++)
{
std::cout<<array_list[i]<<"\t";
}*/
delete array_list;
}
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
【Codility Lesson3】FrogJmpA small frog wants to get to the other side of the road. The frog is currently located at position X and wants to get to...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.