<prompt> Kwa kuzingatia mkusanyiko kamili nums na nambari kamili k, rudisha _the_ k _vipengee vya mara kwa mara_. Unaweza kurudisha jibu kwa mpangilio wowote .Mfano wa 1:Ingizo: nambari 1,1,1,2,2,3, k 2Pato: 1,2Mfano wa 2:Ingizo: nambari 1, k 1Pato: 1Vikwazo: 1 nums.length 105 -104 nambarii 104 k iko katika safu 1, idadi ya vipengele vya kipekee katika safu.Imehakikishwa kwamba jibu ni kipekee.Fuata: Utangamano wa wakati wa algoriti yako lazima uwe bora kuliko On logi n, ambapo n ni saizi ya safu.  <response>: chatukutoka heapq import heappush, heappopkutoka kwa makusanyo kuagiza Counterdef k_most_frequentnambari, k: frequency Counternambari min_heap kwa num, frequency.items: heappushmin_rundo, freq, num ikiwa lenmin_rundo k: lundomin_lundo rudisha heappopmin_heap1 kwa _ katika safukmaelezo1. Tunatumia ramani ya heshi au kamusi ili kuhifadhi marudio ya kila kipengele katika safu ya ingizo iliyotolewa.2. Tunaunda chungu-min na kuingiza vipengele ndani yake kama jozi za mzunguko na nambari yenyewe.3. Wakati wowote saizi ya lundo ndogo inapozidi k, tunabandika kipengee chenye masafa ya chini kutoka kwa lundo.4. Baada ya kuingiza vipengele vyote kwenye lundo, lundo la mwisho litakuwa na k vipengele vya mara kwa mara.5. Kisha tunarudi vipengele katika min-rundo na kupuuza mzunguko wao. Hii inafanywa kwa kutumia orodha au safu. 