Đầu vào:
Danh sách các số nguyên (sẽ không bao giờ chứa số 0)
Đầu ra:
Một danh sách có cùng kích thước với số lượng dựa trên các điều sau đây:
- Nếu mục hiện tại là âm: Xem tất cả các mục trước mục này và đếm số lần các chữ số xuất hiện trong các số khác đó
- Thay vào đó, nếu mặt hàng hiện tại là dương: Hãy xem tất cả các mặt hàng sau mặt hàng này và đếm số lần xuất hiện của các chữ số trong các số khác đó
Có một vòng xoắn: Nếu kích thước của danh sách là chẵn, chúng tôi chỉ đếm mỗi số một lần (ngay cả khi nó khớp với nhiều chữ số) và nếu kích thước là số lẻ, chúng tôi sẽ đếm từng chữ số của mỗi chữ số cho mỗi chữ số của mục hiện tại (trùng lặp chữ số được tính nhiều lần).
Hãy đưa ra một số ví dụ để làm rõ điều này một chút:
Ví dụ với danh sách chẵn:
Input: [4, 10, 42, -10, -942, 8374, 728, -200]
Output: [3, 2, 4, 1, 2, 1, 1, 5 ]
Kích thước của danh sách là chẵn , vì vậy chúng tôi chỉ đếm mỗi số một lần.
4
: Đó là tích cực, vì vậy chúng tôi mong đợi. Có ba số chứa các chữ số4
(42
,-942
,8374
). Vì vậy, chúng tôi bắt đầu với một3
.10
: Đó là tích cực, vì vậy chúng tôi mong đợi. Có hai số chứa chữ số1
và / hoặc0
(-10
,-200
). Vì vậy, đầu ra thứ hai là2
.42
: Một lần nữa tích cực, vì vậy chuyển tiếp. Có bốn số có chứa một trong hai chữ số4
và / hoặc2
(-942
,8374
,728
,-200
). Vì vậy, đầu ra thứ ba là4
.-10
: Lần này là tiêu cực, vì vậy chúng tôi nhìn về phía sau. Chỉ có một số chứa chữ số1
và / hoặc0
(chúng tôi bỏ qua dấu trừ) (10
). Vì vậy, đầu ra thứ tư là1
.- Vân vân.
Ví dụ với danh sách lẻ:
Input: [382, -82, -8, 381, 228, 28, 100, -28, -2]
Output: [13, 2, 2, 4, 8, 3, 0, 11, 6 ]
Kích thước của danh sách là số lẻ , vì vậy chúng tôi đếm từng chữ số.
382
: Đó là tích cực, vì vậy chúng tôi mong đợi. Có một3
trong các số khác (381
), sáu8
trong các số khác (-82, -8, 381, 228, 28, -28
) và sáu2
trong các số khác (-82, 228, 28, -28, 2
). Vì vậy, chúng tôi bắt đầu với một13
.-82
: Đó là tiêu cực, vì vậy ngược. Có một3
trong số khác (382
) và một8
trong số khác (382
). Vì vậy, đầu ra thứ hai là2
.- ...
228
: Đó là tích cực, vì vậy chuyển tiếp. Có ba2
là trong các số khác (28
,-28
,-2
), và thêm ba2
's, và hai8
là trong các số khác (28
,-28
). Vì vậy, đầu ra này là8
.- Vân vân.
Quy tắc thử thách:
- Bạn có thể cho rằng đầu vào sẽ không bao giờ chứa
0
dưới dạng mục, vì nó không dương hay âm. - Bạn có thể giả sử danh sách đầu vào sẽ luôn chứa ít nhất hai mục.
- I / O là linh hoạt. Đầu vào / đầu ra có thể là mảng / danh sách các số nguyên, chuỗi phân cách, chữ số / ma trận ký tự, v.v.
- Nếu số đầu tiên trong danh sách là số âm hoặc số cuối cùng trong danh sách là số dương, nó sẽ là 0 trong danh sách kết quả.
- Với các danh sách lẻ, các số chứa cùng một chữ số nhiều lần được tính nhiều lần, như
228
trong ví dụ lẻ ở trên dẫn đến8
(3 + 3 + 2) thay vì5
(3 + 2).
Quy tắc chung:
- Đây là môn đánh gôn , vì vậy câu trả lời ngắn nhất bằng byte thắng.
Đừng để ngôn ngữ mã-golf ngăn cản bạn đăng câu trả lời với các ngôn ngữ không mã hóa. Cố gắng đưa ra một câu trả lời càng ngắn càng tốt cho ngôn ngữ lập trình 'bất kỳ'. - Áp dụng quy tắc chuẩn cho câu trả lời của bạn, vì vậy bạn được phép sử dụng STDIN / STDOUT, các hàm / phương thức với các tham số thích hợp và kiểu trả về, các chương trình đầy đủ. Cuộc gọi của bạn.
- Lỗ hổng mặc định bị cấm.
- Nếu có thể, vui lòng thêm một liên kết với một bài kiểm tra cho mã của bạn.
- Ngoài ra, xin vui lòng thêm một lời giải thích nếu cần thiết.
Các trường hợp thử nghiệm:
Input: [4, 10, 42, -10, -942, 8374, 728, -200]
Output: [3, 2, 4, 1, 2, 1, 1, 5 ]
Input: [382, -82, -8, 381, 228, 28, 100, -28, -2]
Output: [13, 2, 2, 4, 8, 3, 0, 11, 6 ]
Input: [10, -11, 12, -13, 14, -15, 16, -17, 18, -19]
Output: [9, 1, 7, 3, 5, 5, 3, 7, 1, 9 ]
Input: [10, -11, 12, -13, 14, -15, 16, -17, 18, -19, 20]
Output: [11, 2, 8, 4, 5, 6, 3, 8, 1, 10, 0 ]
Input: [88, 492, -938, 2747, 828, 84710, -29, -90, -37791]
Output: [8, 9, 3, 9, 3, 4, 5, 4, 12 ]
Input: [-1, 11, 11, 1]
Output: [0, 2, 1, 0]
Input: [1, 11, 11, -1]
Output: [3, 2, 1, 3 ]
Input: [-1, 11, 1]
Output: [0, 2, 0]
Input: [1, 11, -1]
Output: [3, 2, 3 ]
δ¢
, không bao giờ thấy vector đôi được sử dụng tốt, tốt đẹp.