<prompt> Kwa kuzingatia orodha ya nambari, tengeneza algoriti ili kupata jumla ya upeo wa safu ndogo.  <response>: Hapa kuna algoriti inayoitwa algorithm ya Kadane ambayo inaweza kutumika kupata jumla ya juu ya safu ndogo ya orodha fulani ya nambari. 1. Anzisha vigezo viwili max_so_far kiasi cha juu zaidi kimepatikana na max_ending_here kiasi cha juu zaidi kinachoishia katika nafasi ya sasa hadi kipengele cha kwanza cha orodha. 2. Rudia juu ya orodha ya nambari kutoka kipengele cha pili hadi cha mwisho. - Katika kila marudio, sasisha thamani ya max_ending_here hadi upeo wa kipengele cha sasa na jumla ya max_end_hapa na kipengele cha sasa. - pia sasisha thamani ya max_so_far hadi upeo wa max_so_far na max_ending_here. 3. Thamani ya max_so_far baada ya kukamilika kwa kitanzi itakuwa upeo wa juu wa jumla wa safu ndogo. Hapa kuna nambari ya Python inayotekeleza algoriti iliyo hapo juu: python def max_subarray_sumnums: max_so_far max_ending_here nums0 kwa num in nums1:: max_ending_here maxnum, max_ending_here x_far max max_so_far, max_ending_here return max_so_far Kwa mfano, hebu tuendeshe hili kwa ingizo lifuatalo: python nums -2, 1, -3, 4, -1, 2, 1, -5, 4 chapa max_subarray_sumidadi Toleo litakuwa 7, ambayo ni jumla ya upeo wa juu wa safu ndogo 4, -1, 2, 1. 