Giới thiệu
Đây là phần tiếp theo của thử thách này , nơi bạn đang đảm nhận vai trò sinh đôi xấu xa của người đó. Trở nên xấu xa, bạn không muốn tối đa hóa chia sẻ của mình, nhưng thay vào đó là không công bằng và bạn sẽ không làm cho nó quá rõ ràng, đó là lý do tại sao bạn đưa ra kế hoạch sau:
Bạn sẽ nói với những người khác rằng bạn muốn công bằng nhất có thể như anh chị em của bạn và do đó bạn sẽ chia số nguyên thành các phần có độ dài bằng nhau. Vì vậy, với mỗi số nguyên, bạn sẽ đưa ra số lượng người phù hợp sao cho sự khác biệt giữa phần lớn nhất và phần nhỏ nhất là tối đa.
Ví dụ: nếu bạn được cung cấp số nguyên, 6567
bạn có thể để nguyên như vậy, chia nó thành hai 65,67
hoặc bốn phần 6,5,6,7
. Điều này cung cấp cho bạn sự khác biệt tối đa sau:
6567 -> max() = 0
65,67 -> max(|65-67|) = 2
6,5,6,7 -> max(|6-5|,|6-5|,|6-6|,|6-7|,|5-6|,|5-7|,|6-7|) = 2
Vì bạn chỉ muốn trở nên xấu xa, bạn không thích 67
hơn 7
và do đó bạn sẽ xuất ra 2
hoặc 4
.
Khác (trường hợp ít đặc biệt hơn); đưa ra số nguyên 121131
bạn có thể chia nó như thế này:
121131 -> max() = 0
121,131 -> max(|121-131|) = 10
12,11,31 -> max(|12-11|,|12-31|,|11-31|) = 20
1,2,1,1,3,1 -> max(…) = 2
Lần này chỉ có một giải pháp - cụ thể là 3
- vì với ba người, sự khác biệt là tối đa.
Thử thách
Đưa ra một số nguyên xác định bất kỳ cách nào có thể là xấu xa tối đa và báo cáo số người cần thiết để đạt được điều này.
Quy tắc
- Đầu vào sẽ luôn là ≥ 1
- Đầu vào có thể là số nguyên, danh sách các chữ số hoặc chuỗi
- Bạn không phải xử lý đầu vào không hợp lệ
Tủ thử
Bạn chỉ cần báo cáo số lượng người cần thiết, các phân vùng có thể chỉ để minh họa:
In -> splits (difference) -> Out
1 -> [1] (0) -> 1
10 -> [1,0] (1) -> 2
11 -> [11] or [1,1] (0) -> 1 or 2
12 -> [1,2] (1) -> 2
42 -> [4,2] (2) -> 2
101 -> [1,0,1] (1) -> 3
2222 -> [2222] or [22,22] or [2,2,2,2] (0) -> 1 or 2 or 4
6567 -> [65,67] or [6,5,6,7] (2) -> 2 or 4
123000 -> [123,000] (123) -> 2
123001 -> [123,001] (122) -> 2
121131 -> [12,11,31] (20) -> 3
294884 -> [294,884] (590) -> 2
192884729 -> [192,884,729] (692) -> 3
123456189012 -> [123456,189012] (65556) -> 2
123457117346 -> [1234,5711,7346] (6112) -> 3