양수 배열이 있고 해당 배열에 n개의 요소가 있다고 가정하고 0 <=i
따라서 입력이 A =[3,6,4,2,5,10]과 같으면 삼중항이 (3 4 5):sum =12, (3 6 10):sum =이므로 출력은 19가 됩니다. 19, (3 4 10):합계 =17, (4 5 10):합계 =19, (2 5 10):합계 =17. 따라서 최대값은 19입니다.
이 문제를 해결하기 위해 다음 단계를 따릅니다. −
-
n :=A의 크기
-
해상도 :=0
-
범위 1에서 n - 1까지의 i에 대해 수행
-
반환 해상도
예시
이해를 돕기 위해 다음 구현을 살펴보겠습니다. −
def get_max_triplet_sum(A) : n = len(A) res = 0 for i in range(1, (n - 1)) : first_max = 0 second_max = 0 for j in range(0, i) : if (A[j] < A[i]) : first_max = max(first_max, A[j]) for j in range((i + 1), n) : if (A[j] > A[i]) : second_max = max(second_max, A[j]) if (first_max and second_max): res = max(res, first_max + A[i] + second_max) return res A = [3,6,4,2,5,10] print(get_max_triplet_sum(A))
입력
[3,6,4,2,5,10]
출력
19