<prompt> Kwa kuzingatia mkusanyiko wa tofauti nambari kamili wagombea na nambari kamili lengwa, rudisha _orodha ya michanganyiko yote ya kipekee ya_ wagombea _ambapo nambari zilizochaguliwa zinajumlisha_ lengo_._ Unaweza rudisha mchanganyiko kwa mpangilio wowote .Nambari sawa inaweza kuchaguliwa kutoka kwa wagombea idadi isiyo na kikomo ya nyakati. Mchanganyiko mbili ni za kipekee ikiwa mzunguko wa angalau moja ya nambari zilizochaguliwa ni tofauti.Kesi za majaribio huzalishwa hivi kwamba idadi ya michanganyiko ya kipekee inayojumlisha hadi lengo ni chini ya michanganyiko 150 kwa ingizo husika.Mfano wa 1:Ingizo: watahiniwa 2,3,6,7, lengo 7Pato: 2,2,3,7Maelezo:2 na 3 ni watahiniwa, na 2 2 3 7. Kumbuka kuwa 2 inaweza kutumika mara nyingi.7 ni mgombea, na 7 7.Hizi ni mchanganyiko mbili pekee.Mfano wa 2:Ingizo: watahiniwa 2,3,5, lengo 8Pato: 2,2,2,2,2,3,3,3,5Mfano wa 3:Ingizo: watahiniwa 2, lengo 1Pato: Vikwazo: 1 candidates.length 30 2 wagombeai 40 Vipengele vyote vya wagombea ni tofauti. 1 lengo 40  <response>: chatudef mchanganyikoSumwagombea, lengo: def findCombinationsstartIndex, iliyobaki: ikiwa imesalia 0: rudisha ikiwa startIndex lenwagombea au iliyobaki 0: kurudi matokeo result.extendpata MchanganyikostartIndex 1, iliyobaki result.extendx candidatesstartIndex kwa x katika findCombinationsstartIndex, iliyobaki - wagombeastartIndex matokeo ya kurudi rudisha findCombinations0, lengomaelezoAlgorithm ni algorithm ya kurudi nyuma ya kurudi nyuma. Tunafafanua kitendakazi cha msaidizi pata Mchanganyiko ambacho huchukua vigezo vifuatavyo:1. startIndex: faharasa ya safu ya watahiniwa ambayo inaweza kuanza kuchagua nambari.2. iliyobaki: jumla iliyobaki inayohitajika kufikia lengo.Kesi za msingi ni:- Ikiwa iliyosalia ni 0, inamaanisha tumepata mchanganyiko halali, kwa hivyo tunarudisha orodha iliyo na orodha tupu.- Ikiwa startIndex ni sawa na urefu wa wagombeaji, au iliyobaki ni hasi, hakuna michanganyiko halali, kwa hivyo tunarudisha orodha tupu.Katika chaguo za kukokotoa, kwanza tunaanzisha orodha tupu inayoitwa matokeo. Kisha, tunapiga simu mbili za kujirudia kwa pata Mchanganyiko:1. Ukiondoa mgombeaji wa sasa kwenye startIndex na startIndex inayoongeza, ili kutafuta michanganyiko bila mgombea huyu.2. Ikiwa ni pamoja na mgombeaji wa sasa katika mseto, na kupunguza inayosalia ipasavyo bila kusasisha startIndex.Baada ya kupata matokeo kutoka kwa simu zote mbili za kujirudia, tunaziunganisha na kurudisha orodha ya mwisho ya michanganyiko.Chaguo za kukokotoa kuu combinationSum huita findCombinations na startIndex kama 0 na kubakia kama lengwa, na hurejesha matokeo baada ya kufanya marudio. 