Bạn nên viết một chương trình hoặc hàm nhận danh sách các số nguyên riêng biệt làm đầu vào và đầu ra hoặc trả về số lần xuất hiện của các số đầu vào trong kim tự tháp số lộn ngược sau đây.
Bắt đầu từ danh sách ban đầu trong mỗi bước, chúng tôi tạo một danh sách mới với các giá trị tối đa của mỗi cặp số liền kề (ví dụ: 5 1 2 6trở thành5 2 6 ). Chúng tôi dừng lại khi chỉ có một số trong danh sách.
Kim tự tháp đầy đủ cho 5 1 2 6là
5 1 2 6
5 2 6
5 6
6
Số lần xuất hiện là 3 1 2 4(cho5 1 2 6 tương ứng).
Đầu vào
- Một danh sách của một hoặc nhiều số nguyên không có sự lặp lại. (ví dụ:
1 5 1 6không hợp lệ.)
Đầu ra
- Một danh sách các số nguyên dương. Phần
itử thứ của danh sách là số lần xuất hiện củaisố đầu vào thứ trong kim tự tháp.
Ví dụ
Đầu vào => Đầu ra
-5 => 1
8 4 => 2 1
5 9 7 => 1 4 1
1 2 3 9 8 6 7 => 1 2 3 16 3 1 2
6 4 2 1 3 5 => 6 4 2 1 3 5
5 2 9 1 6 0 => 2 1 12 1 4 1
120 5 -60 9 12 1 3 0 1200 => 8 2 1 3 16 1 4 1 9
68 61 92 58 19 84 75 71 46 69 25 56 78 10 89 => 2 1 39 2 1 27 6 5 1 6 1 2 14 1 12
Đây là môn đánh gôn nên bài dự thi ngắn nhất sẽ thắng.
Phần thưởng câu đố: bạn có thể giải quyết vấn đề O(n*log n)kịp thời không?