## 2017年2月20日 星期一

### 【Python】Codility in Python : Lesson 6 - Sorting【MaxProductOfThree】

Sorting 第二題：【MaxProductOfThree】
Maximize A[P] * A[Q] * A[R] for any triplet (P, Q, R).
A non-empty zero-indexed array A consisting of N integers is given.
The product of triplet (P, Q, R) equates to A[P] * A[Q] * A[R] (0 ≤ P < Q < R < N).

For example, array A such that:

A = -3
A = 1
A = 2
A = -2
A = 5
A = 6

contains the following example triplets:

(0, 1, 2), product is −3 * 1 * 2 = −6
(1, 2, 4), product is 1 * 2 * 5 = 10
(2, 4, 5), product is 2 * 5 * 6 = 60

Your goal is to find the maximal product of any triplet.

Write a function:

def solution(A)

that, given a non-empty zero-indexed array A,
returns the value of the maximal product of any triplet.

For example, given array A such that:

A = -3
A = 1
A = 2
A = -2
A = 5
A = 6

the function should return 60, as the product of triplet (2, 4, 5) is maximal.

Correctness：100%、Performance：100%
```python def solution(A): A = sorted(A) return max(A[-3] * A[-2] * A[-1], A[-1] * A * A) ```