Diberikan array bilangan bulat ayang berisi n bilangan bulat, dan bilangan bulat tunggal x; menghapus jumlah elemen paling sedikit dari auntuk membuat jumlah asama dengan x. Jika tidak ada kombinasi akaleng x, kembalikan nilai palsu.
Seperti yang ditunjukkan dalam komentar, ini adalah set maksimum dengan jumlah x , maaf otak matematika saya yang lebih rendah. Saya lupa banyak istilah sejak kuliah.
Contoh (Kebenaran):
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] (Tidak berubah)
f([], 0) = [] (Kasus Jumlah-Nol yang Tidak Berubah)
Contoh (Falsy, nilai non-array yang konsisten):
Tidak Mungkin Membuat Kasus: f([-2,4,6,-8], 3) = falsy (E.G. -1)
Zero Sum Case: f([], non-zero number) = falsy (E.G. -1)
- Catatan: nilai apa pun seperti
[-1]tidak dapat valid untuk falsy, karena ini merupakan output potensial yang sebenarnya.
Aturan:
- Input dapat diambil dalam bentuk array, atau sebagai daftar argumen, yang terakhir atau yang pertama
x. - Output dapat berupa daftar bilangan bulat yang dibatasi. EG
1\n2\n3\natau[1,2,3]. - Nilai apa pun dapat digunakan sebagai indikator palsu, selain array bilangan bulat.
- Kode Anda harus memaksimalkan ukuran array akhir, pesanan tidak masalah.
- EG Untuk
f([3,2,3],5)keduanya[2,3]dan[3,2]sama-sama valid. - EG Untuk
f([1,1,2],2)Anda hanya dapat kembali[1,1]karena[2]lebih pendek.
- EG Untuk
- Baik jumlah
adan nilaixakan lebih kecil dari2^32-1dan lebih besar dari-2^32-1. - Ini adalah kode-golf , kemenangan byte-count terendah.
- Jika ada beberapa subarrays dengan ukuran yang sama yang valid, itu tidak dapat diterima untuk menghasilkan semuanya. Anda harus memilih satu dan mengeluarkan yang itu.
Beri tahu saya jika ini telah diposting, saya tidak dapat menemukannya.
Posting yang saya temukan seperti ini : Terkait tetapi ditutup , ...