Wie erhalte ich den maximalen Durchschnitt des Subarrays?Python

Python-Programme
Guest
 Wie erhalte ich den maximalen Durchschnitt des Subarrays?

Post by Guest »

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

Quick Reply

Change Text Case: 
   
  • Similar Topics
    Replies
    Views
    Last post