[알고리즘 서론] 최대 치 와 최소 치 를 동시에 찾 습 니 다.
비교 에서 만난 최대 치 와 최소 치 를 기록 합 니 다.입력 한 요 소 를 두 가지 로 비교 한 다음 현재 의 최대 치, 최소 치 와 비교 합 니 다.이렇게 하면 두 개의 원 소 를 원래 의 네 번 이 아니 라 세 번 비교 해 야 한다.
구현 코드 는 다음 과 같 습 니 다:
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에 따라 라이센스가 부여됩니다.