Đưa ra một tập hợp các nphần tử, thách thức là viết một hàm liệt kê tất cả các kết hợp các kphần tử trong tập hợp này.
Thí dụ
Set: [1, 7, 4]
Input: 2
Output: [1,7], [1,4], [7,4]
Thí dụ
Set: ["Charlie", "Alice", "Daniel", "Bob"]
Input: 2
Output ["Daniel", "Bob"], ["Charlie", "Alice"], ["Alice", "Daniel"], ["Charlie", "Daniel"], ["Alice", "Bob"], ["Charlie", "Bob"]
Quy tắc (Đã chỉnh sửa)
- Thứ tự của đầu ra là sự lựa chọn của bạn.
- Đầu vào có thể là bất kỳ loại dữ liệu. Nhưng đầu ra phải cùng loại với đầu vào. Nếu đầu vào là một danh sách các số nguyên, thì đầu ra cũng phải là một danh sách các số nguyên. Nếu đầu vào là một chuỗi (mảng ký tự), thì đầu ra cũng phải là một chuỗi.
- Mã phải hoạt động với bất kỳ số lượng biến đầu vào.
- Bạn có thể sử dụng bất kỳ ngôn ngữ lập trình.
- Câu trả lời sẽ có thể sử dụng mọi thứ (chuỗi, int, double ...) làm đầu vào và đầu ra.
- Bất kỳ chức năng tích hợp nào có liên quan đến kết hợp và hoán vị đều bị cấm.
- Mã ngắn nhất sẽ thắng (tính theo byte).
- Tiebreaker: phiếu bầu.
- Thời gian: 1 tuần.
PS Hãy cẩn thận về các đầu vào cực đoan như số âm, 0, v.v.
combos('ab', 1) -> ['a', 'b']hợp lệ không?