Cho một mảng các số nguyên a
chứa n số nguyên và một số nguyên duy nhất x
; loại bỏ số lượng phần tử ít nhất a
để tạo ra tổng a
bằng x
. Nếu không có kết hợp nào a
có thể hình thành x
, trả về giá trị giả.
Như đã chỉ ra trong một nhận xét, đây là tập hợp tối đa với tổng x , xin lỗi bộ não toán học ít hơn của tôi. Tôi đã quên rất nhiều điều khoản kể từ khi học đại học.
Ví dụ (Sự thật):
f([1,2,3,4,5,6,7,8,9,10], 10) = [1,2,3,4]
f([2,2,2,2,2,2,2,2,2], 10) = [2,2,2,2,2]
f([2,2,2,2,-2,-2,-2,-4,-2], -8) = [2,2,-2,-2,-2,-4,-2]
f([-2,-4,-2], -6) = [-4,-2] OR [-2,-4]
f([2,2,2,4,2,-2,-2,-2,-4,-2], 0) = [2,2,2,4,2,-2,-2,-2,-4,-2]
(Không thay đổi)
f([], 0) = []
(Trường hợp không tổng không thay đổi)
Ví dụ (Falsy, mọi giá trị không phải là mảng nhất quán):
Không thể thực hiện trường hợp: f([-2,4,6,-8], 3) = falsy (E.G. -1)
Trường hợp không tổng: f([], non-zero number) = falsy (E.G. -1)
- Lưu ý: bất kỳ giá trị nào như
[-1]
không thể có giá trị cho giả, vì đó là một đầu ra trung thực tiềm năng.
Quy tắc:
- Đầu vào có thể được lấy ở dạng mảng hoặc dưới dạng danh sách các đối số, cuối cùng hoặc đầu tiên
x
. - Đầu ra có thể là bất kỳ danh sách giới hạn của số nguyên. TRỨNG
1\n2\n3\n
hay[1,2,3]
. - Bất kỳ giá trị nào cũng có thể được sử dụng như một chỉ báo giả, trừ một mảng các số nguyên.
- Mã của bạn phải tối đa hóa kích thước của mảng kết thúc, thứ tự không quan trọng.
- EG Cho
f([3,2,3],5)
cả hai[2,3]
và[3,2]
đều có giá trị như nhau. - EG Đối với
f([1,1,2],2)
bạn chỉ có thể trở lại[1,1]
như[2]
là ngắn hơn.
- EG Cho
- Cả tổng
a
và giá trị củax
sẽ nhỏ hơn2^32-1
và lớn hơn-2^32-1
. - Đây là môn đánh gôn , đánh số byte thấp nhất.
- Nếu có nhiều tập hợp con có cùng kích thước hợp lệ, thì không thể chấp nhận đầu ra tất cả chúng. Bạn phải chọn một cái duy nhất và đầu ra cái đó.
Hãy cho tôi biết nếu điều này đã được đăng, tôi không thể tìm thấy nó.
Bài viết tôi tìm thấy như thế này : Liên quan nhưng đã đóng , ...