Lập trình cạnh tranhDễ dàng

Phân chia thành hai mảng con

Hướng dẫn chi tiết và cách triển khai Python cho bài toán 'Phân vùng thành hai mảng con'.

Tuyên bố vấn đề

Dễ dàng

Viết hàm max_difference_subarrays(arr, k) nhận mảng arr có kích thước n và số nguyên k. Nó chọn một tập hợp con gồm các phần tử k từ arr sao cho chênh lệch tuyệt đối giữa tổng các phần tử đã chọn và tổng các phần tử n-k còn lại được tối đa hóa và trả về chênh lệch tuyệt đối tối đa này.

Ràng buộc
  • 1 <= k < len(arr) <= 10^5
  • 1 <= arr[i] <= 10^4

Ví dụ

Example 1
Input
max_difference_subarrays([8, 4, 5, 2, 10], 2)
Output
17
Explanation

If we select the 2 smallest elements {2, 4} (sum 6), the remaining elements are {8, 5, 10} (sum 23). The difference is |23 - 6| = 17.

Example 2
Input
max_difference_subarrays([1, 1, 1, 1, 1], 3)
Output
1
Explanation

Select 3 elements (sum 3), remaining 2 sum to 2. The difference is 1.

Need a Hint?
Hãy cân nhắc sử dụng các cấu trúc dữ liệu dành riêng cho Greedy như tập hợp hoặc đống.
Edge Cases to Watch
  • Cấu trúc đầu vào trống
  • Đầu vào phần tử đơn
  • Giới hạn số lớn

Sẵn sàng để giải quyết?

Open the problem in PyRun's browser-based Python editor. Your code runs fully offline — no server required.

Mở trong Trình chỉnh sửa
Found this breakdown helpful?

PyRun is built and maintained by an independent solo developer. If this helped your interview prep, consider buying a coffee!

Buy me a coffee

Tài nguyên Python được đề xuất

Mở rộng kiến thức của bạn với các hướng dẫn tương tác, bảng ghi chú và so sánh mã có liên quan.