크기가 N(>1) 인 배열 내에 있는 숫자들 중 최댓값을 찾는 문제
1. 배열의 첫 번째 요소를 최댓값으로 정한다
2. 배열의 다음 요소와 최댓값을 비교한다. 만약 다음 요소가 최댓값보다 크다면 최댓값을 그 요소로 바꾼다
3. 배열 내에 비교할 요소가 남아 있으면 2단계로 가고 아니면 종료한다.
시간복잡도 O(N)
알고리즘
FindMaximum(A[0 .. N-1])
max = A[0]
for (i = 1; i < N; i++)
if (A[i] > max) max = A[i]
return max
JAVA
public class FindMaximum {
public static void main(String[] args) {
int[] intArray = {72, 60, 83, 47, 89, 95};
int maximum;
maximum = findMaximum(intArray);
System.out.println("최댓값 = " + maximum);
}
public static int findMaximum(int[] A) {
int i, max;
max = A[0];
for (i = 1; i < A.length; i++) {
if (A[i] > max) max = A[i];
}
return max;
}
}
'알고리즘' 카테고리의 다른 글
[JAVA] 삽입 정렬(Insertion Sort) (0) | 2021.12.07 |
---|---|
[JAVA] 선택 정렬(Selection Sort) (0) | 2021.12.06 |
[JAVA] 이진 탐색 (Binary Search) (0) | 2021.12.06 |
[JAVA] 자연수 n의 계승(factorial) 계산 (4) | 2021.12.06 |
[JAVA] 누계 계산 (0) | 2021.12.05 |
댓글