Wie erhalte ich den maximalen Durchschnitt des Subarrays?

Post a reply

Smilies
:) :( :oops: :chelo: :roll: :wink: :muza: :sorry: :angel: :read: *x) :clever:
View more smilies

BBCode is ON
[img] is ON
[flash] is OFF
[url] is ON
Smilies are ON

Topic review
   

Expand view Topic review: Wie erhalte ich den maximalen Durchschnitt des Subarrays?

by Guest » 05 Jan 2025, 11:11

Ich habe diese Leet-Code-Fragen bearbeitet
https://leetcode.com/problems/maximum-a ... scription/
Ich konnte eine Lösung erstellen, nachdem ich den Schiebefensteralgorithmus verstanden hatte. Ich habe mich bei meinem Code gefragt, wo meine Logik schief geht. Ich glaube, mein Problem scheint in diesem Abschnitt des Codes zu liegen, aber ich kann nicht genau sagen, warum.

Code: Select all

            while temp > k:
temp -= nums[left]
left += 1
ans = temp / (curr - left + 1)
Obwohl ich auch andere Lösungen und Möglichkeiten zur Lösung dieses Problems schätze, möchte ich die Lösung zuerst verstehen und zum Funktionieren bringen, bevor ich anfange, nach verschiedenen Möglichkeiten zur Lösung des Problems zu suchen. Auf diese Weise werde ich besser Verständnis des Algorithmus :)
Vollständige Codereferenz

Code: Select all

    def findMaxAverage(self, nums, k):
"""
:type nums: List[int]
:type k: int
:rtype: float
"""
left = 0
ans = 0
temp = 0

for curr in range(len(nums)):
temp += nums[curr]
curr += 1
while temp > k:
temp -= nums[left]
left += 1
ans = temp / (curr - left + 1)
return ans


Top