
Maximize Sum
Cho mảng các số nguyên n
phần tử arr
. Bạn hãy tìm cách đổi chỗ các phần tử trong mảng để tổng sau là lớn nhất:
Tổng = |arr[0] - arr[1]| + |arr[1] - arr[2]| + ... + |arr[i] - arr[i+1]| + ... + |arr[n] - arr[0]|
.
Hãy viết hàm xác định tổng lớn nhất này là bao nhiêu.
Ví dụ
- Cho
arr = [5, 6]
output làmaximizeSum(arr) = 2
.
Giải thích:- Đổi chỗ và không đổi chỗ đều cho kết quả:
Tổng = |5 - 6| + |6 - 5| = 2
.
- Đổi chỗ và không đổi chỗ đều cho kết quả:
- Cho
arr = [1, 2, 4, 5]
output làmaximizeSum(arr) = 12
.
Giải thích:- Mảng sau khi đổi chỗ:
[1, 4, 2, 5]
.
- Mảng sau khi đổi chỗ:
Đầu vào/Đầu ra
-
[Giới hạn thời gian chạy] 0.5s với C++, 3s với Java và C#, 4s với Python, JS và Go
-
[Đầu vào] Array of integer arr.
1 <= arr.size <= 1000
0 <= arr[i] <= 1000
-
[Đầu ra] Integer
Post Comment