Giải thích phạm vi lỏng lẻo
ListSharp là ngôn ngữ lập trình được diễn giải có nhiều tính năng, một trong những tính năng đó là trình tạo phạm vi dựa trên 1 chỉ mục hoạt động như sau:
Bạn xác định một phạm vi là (INT) TO (INT)
hoặc chỉ (INT)
nơi cả hai hoặc một int có thể đi từ giá trị min đến max int32
Sau đó, bạn có thể sử dụng các phạm vi đó để trích xuất các phần tử của một mảng mà không sợ vượt qua các ranh giới của nó
vì thế:
1 TO 5
tạo ra: {1,2,3,4,5}
3
tạo ra: {3}
Phạm vi có thể được thêm vào bằng cách sử dụng AND
toán tử
1 TO 5 AND 3 TO 6
tạo ra: {1,2,3,4,5,3,4,5,6}
hãy nhớ điều này cũng có tác dụng với số âm
3 TO -3
tạo ra: {3,2,1,0,-1,-2,-3}
Thách thức là như sau:
Đầu vào
Một mảng ký tự và mệnh đề phạm vi được xác định trước đó dưới dạng một chuỗi
Đầu ra
Các phần tử tại vị trí dựa trên 1 chỉ mục của phạm vi (chỉ mục không tồn tại / tiêu cực chuyển thành ký tự trống)
Làm thế nào để chiến thắng
Là một thử thách chơi gôn mã, bạn phải tạo chương trình với số byte ngắn nhất để giành chiến thắng
Nó đã được chỉ ra rằng các ký tự trống không tồn tại, do đó bạn nên bỏ qua chúng (tôi chỉ hiển thị chúng ở đây để dễ hiểu hơn nhưng nó làm mọi người bối rối)
Các trường hợp thử nghiệm:
input array is:
{'H','e','l','l','o',' ','W','o','r','l','d'}
range clause:
"1 TO 3" => "Hel"
"5" => "o"
"-10 TO 10" => "Hello Worl"
"0 AND 2 AND 4" => "el"
"8 TO 3" => "oW oll"
"-300 AND 300" => ""
"1 TO 3 AND 3 TO 1" => "HelleH"
"-20 TO 0 AND 1 AND 4" => "Hl"
3 TO 3
bao giờ là một đầu vào và đầu ra dự kiến là gì?
AND
nhiều phạm vi ing. Ngoài ra, Bạn đã không trả lời nếu chúng tôi có thể sử dụng lập chỉ mục dựa trên số không, là tiêu chuẩn trong hầu hết các ngôn ngữ.
"0 TO 2"
=>{'H', 'e', 'l'}
?