## [1464. Maximum Product of Two Elements in an Array](https://leetcode.com/problems/maximum-product-of-two-elements-in-an-array/description/)
# 1. Tóm tắt đề bài
Cho một mảng. Lấy hai phần tử lớn nhất, mỗi phần tử trừ đi một, rồi trả về tích của chúng.
### Giới hạn
$2 \le n \le 500$
# 2. Tóm tắt lời giải
**Độ phức tạp dự tính: $O(n)$, hoặc $O(n*log(n))$ cho những người lười :)**
Cách 1: tìm hai phần tử lớn nhất ($O(n)$):
- Tìm index của phần tử lớn nhất. Nếu có nhiều phần tử lớn nhất và bằng nhau, chọn bất kỳ index nào cũng được. Gọi index này là $i$.
- Trong các số còn lại, mà không có index bằng $i$, tìm phần tử lớn nhất.
- Nhân giá trị của chúng trừ đi 1, với nhau.
Cách 2: sort, $O(n*log(n))$:
- Sort lại dùng hàm có sẵn.
- Lấy $(nums[n - 1] - 1) * (nums[n - 2] - 1)$.
# 3. Code mẫu (C++)
https://leetcode.com/problems/maximum-product-of-two-elements-in-an-array/submissions/1118085949/
Phân tích độ phức tạp:
Time: $O(n * logn)$
Aux space: $O(1)$.