Loading Now

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.
  • 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].

Đầ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

Contact