<prompt> Kwa kuzingatia safu mbili kamili nums1 na nums2, rudisha _safu ya makutano yao_. Kila kipengele katika matokeo lazima kionekane mara nyingi kama inavyoonyeshwa katika safu zote mbili na unaweza kurudisha matokeo kwa mpangilio wowote.Mfano wa 1:Ingizo: nums1 1,2,2,1, nums2 2,2Pato: 2,2Mfano wa 2:Ingizo: nums1 4,9,5, nums2 9,4,9,8,4Pato: 4,9Maelezo: 9,4 pia inakubaliwa.Vikwazo: 1 nums1.length, nums2.length 1000 0 nambari1i, nambari2i 1000Fuatilia: Je, ikiwa safu iliyotolewa tayari imepangwa? Je, unaweza kuboresha algorithm yako jinsi gani? Je, ikiwa ukubwa wa nums1 ni mdogo ikilinganishwa na ukubwa wa nums2? Algorithm ipi ni bora zaidi? Je, ikiwa vipengele vya nums2 vimehifadhiwa kwenye diski, na kumbukumbu ni ndogo hivi kwamba huwezi kupakia vipengele vyote kwenye kumbukumbu mara moja?  <response>: chatudef intersectnums1, nums2: count_map matokeo kwa nambari katika nambari1: count_mapnum count_map.getnambari, 0 1 kwa nambari katika nambari2: ikiwa count_map.getnambari, 0 0: tokeo.ongezaidadi count_mapnamba - 1 matokeo ya kurudimaelezo1. Unda ramani ya reli au kamusi ili kuhesabu matukio ya kila nambari kamili katika safu ya ingizo ya kwanza, nums1.2. Rudia kupitia safu ya ingizo ya pili, nums2. a. Kwa kila kipengele katika nums2, angalia kama kipengele kipo kwenye ramani ya reli na kina hesabu kubwa kuliko 0. b. Ikiwa ndio, ongeza kipengee kwenye safu ya matokeo na upunguze hesabu katika ramani ya reli ya kipengele hicho.3. Rudisha safu ya matokeo iliyo na vipengele vya makutano. 