<prompt> Kwa kuzingatia mkusanyiko kamili nums, shughulikia maswali mengi ya aina ifuatayo:1. Kokotoa jumla ya vipengele vya nums kati ya fahirisi kushoto na kulia pamoja na ambapo kushoto kulia.Tekeleza darasa la NumArray: NumArrayint nums Huanzisha kitu kwa safu kamili nums. int sumRangeint left, int right Hurejesha jumla ya vipengele vya nums kati ya fahirisi left na kulia pamoja na yaani nambarikushoto nambari kushoto 1 ... nambarikulia.Mfano wa 1:Ingizo NumArray , sumRange , sumRange , sumRange -2, 0, 3, -5, 2, -1, 0, 2, 2, 5, 0, 5Patonull, 1, -1, -3UfafanuziNumArray numArray new NumArray-2, 0, 3, -5, 2, -1;numArray.sumRange0, 2; kurudi -2 0 3 1numArray.sumRange2, 5; kurudi 3 -5 2 -1 -1numArray.sumRange0, 5; kurudi -2 0 3 -5 2 -1 -3Vikwazo: 1 nums.length 104 -105 numsi 105 0 kushoto kulia nums.length Simu zisizozidi 104 zitapigwa kwa sumRange.  <response>: chatudarasa la NumArray: def __init__binafsi, nambari: Orodhaint: self.pSum 0 lennambari 1 kwa i, nambari katika enumeratenambari: self.pSumi 1 self.pSumi num def sumRangebinafsi, kushoto: int, kulia: int - int: return self.pSumkulia 1 - self.pSumkushotomaelezoKanuni hutumia dhana ya kiambishi awali-jumla kujibu maswali ya jumla ya masafa kwa ufanisi. Katika kijenzi, tunarudia kupitia safu ya ingizo nums na kuunda safu ya ziada ya pSum, ambayo huhifadhi jumla ya kiambishi awali kwa kila nafasi, i.e., jumla ya vipengele vyote kutoka faharasa 0 hadi faharasa i pamoja ya nums. .Mbinu ya sumRange ni suala la kuchukua tofauti kati ya vipengele viwili katika safu ya kiambishi awali-jumla. Tofauti hii itakuwa jumla ya vipengele kati ya fahirisi za kushoto na kulia zinazojumuisha katika safu ya ingizo.Kanuni ina uchangamano wa wakati wa O1 wa hoja za sumRange baada ya uchakataji wa awali wa On wa safu ya ingizo wakati wa simu ya kijenzi. Utata wa nafasi ni On kwa safu ya pSum. 