Module: (Python) for 루프 문입니다. 일반적인 작업


Problem

13 /16


두 번째 최대값

Theory Click to read/hide

작업

N개의 숫자가 주어집니다. 시퀀스에서 두 번째로 큰 요소를 찾습니다.

이 문제는 두 가지 해석을 허용합니다.
예를 들어 \(10\ 15\ 20\ 35\ 14\ 35\ 10\)과 같은 일련의 숫자가 주어지면 답은 무엇이어야 합니까? ?
"두 번째로 큰 요소" 아래 또는 단순히 "두 번째 최대값"은 다음과 같이 이해될 수 있습니다.
1) 모든 값을 감소하지 않는 순서로 정렬(정렬)하면 두 번째 위치에 있는 값(각 다음 값은 이전 값보다 크거나 같음). 그런 다음 고려되는 숫자 집합에 대한 대답은 값 35가 됩니다.
2) 최대값보다 큰 요소의 값. 그렇다면 정답은 20번입니다.
숫자 집합에 최대 요소가 하나만 있는 경우(다른 모든 요소는 더 적음) 두 가지 해석이 동일하며 두 경우 모두 대답이 동일하고 그렇지 않으면 대답이 달라집니다.

첫 번째 경우를 고려하십시오(유사 코드).
답을 찾기 위해 두 가지 변수를 사용합니다.
1) maximum1 - 최대값(첫 번째 최대값);
2) maximum2 - 두 번째 최대값(답변).

값 변경 범위가 알려진 경우 초기 값으로 범위의 하한보다 분명히 작은 숫자를 사용합니다(예: -1000 범위). 에서 1000 - 숫자 가져오기 -1001)
값의 범위를 알 수 없는 경우 변수 max1max2의 초기 값에 처음 두 입력 숫자를 쓴 다음 이들을 비교할 수 있습니다. 두 가지 변수. <예비> 입력 N // 숫자의 수 입력 a, b 최대1 = 최대2 = b 만약 b > 그럼     최대1 = b     최대2 =
다음으로 다른 모든 요소를 ​​고려합니다(처음 2개는 이미 보았으므로 3번째부터 시작하겠습니다) <예비> i에 대한 nc는 3에서 n까지 입력 > maximum1 // maximum1보다 큰 값이 있음 저것 max2 = max1 //이전의 첫 번째 고가가 두 번째가 됨 max1 = a //새 요소가 첫 번째 최대값이 됩니다. 그렇지 않으면 //max1 이하의 다음 요소 // maximum2 값과 비교해야 함 > 최대 2 저것 max2 = a // 새 값으로 취함 max2 // 이 경우 max1은 변경되지 않습니다. 모두 모두 kts
이 알고리즘을 직접 구현해 보십시오.

Problem

주어진 N 정수. 시퀀스에서 두 번째로 큰 요소를 찾습니다(입력이 내림차순이 아닌 순서로 정렬된 경우 마지막 요소 옆에 있는 요소).

입력
첫 번째 줄은 숫자 N(\(2<=N<=10^4\))을 지정합니다. 뒤에 N줄, 각 줄은 모듈로 105를 초과하지 않는 하나의 정수입니다. 

출판물
두 번째 최대 요소를 인쇄합니다.

 

<헤드> <일># <몸>
입력 출력
1 7
10
15
20
35
14
35
10
35
2 5
10
5
7
11
9
10