Title: #644 - Maximum Average Subarray II - LeetCode JavaScript Solutions
Open Graph Title: #644 - Maximum Average Subarray II - LeetCode JavaScript Solutions
X Title: #644 - Maximum Average Subarray II - LeetCode JavaScript Solutions
Description: You are given an integer array nums consisting of n elements, and an integer k. Find a contiguous subarray whose length is greater than or e...
Open Graph Description: You are given an integer array nums consisting of n elements, and an integer k. Find a contiguous subarray whose length is greater than or e...
X Description: You are given an integer array nums consisting of n elements, and an integer k. Find a contiguous subarray whose length is greater than or e...
Keywords:
Opengraph URL: https://leetcodejavascript.com/solutions/maximum-average-subarray-ii
Domain: leetcodejavascript.com
{"@context":"https://schema.org","@type":"Code","url":"https://leetcodejavascript.com/solutions/maximum-average-subarray-ii","name":"#644 - Maximum Average Subarray II - LeetCode JavaScript Solutions","description":"You are given an integer array nums consisting of n elements, and an integer k. Find a contiguous subarray whose length is greater than or e...","programmingLanguage":"JavaScript","codeRepository":"https://github.com/JoshCrozier/leetcode-javascript","codeSampleType":"JavaScript","text":"/**\n * @param {number[]} nums\n * @param {number} k\n * @return {number}\n */\nvar findMaxAverage = function(nums, k) {\n const n = nums.length;\n let minVal = Math.min(...nums);\n let maxVal = Math.max(...nums);\n\n while (maxVal - minVal > 1e-5) {\n const mid = (minVal + maxVal) / 2;\n if (canFindLargerAverage(nums, k, mid)) {\n minVal = mid;\n } else {\n maxVal = mid;\n }\n }\n\n return minVal;\n};\n\nfunction canFindLargerAverage(nums, k, target) {\n let sum = 0;\n let prevSum = 0;\n let minPrevSum = 0;\n\n for (let i = 0; i < k; i++) {\n sum += nums[i] - target;\n }\n\n if (sum >= 0) return true;\n\n for (let i = k; i < nums.length; i++) {\n sum += nums[i] - target;\n prevSum += nums[i - k] - target;\n minPrevSum = Math.min(minPrevSum, prevSum);\n if (sum - minPrevSum >= 0) return true;\n }\n\n return false;\n}","keywords":"LeetCode 644, #644 - Maximum Average Subarray II, Hard, JavaScript solution","learningResourceType":"Code","isAccessibleForFree":true,"educationalLevel":"intermediate","interactivityType":"mixed"}
| author | LeetCodeJavascript.com |
| og:type | article |
| og:image | https://leetcodejavascript.com/og-image.jpg |
| og:site_name | LeetCode JavaScript Solutions |
| twitter:card | summary_large_image |
| twitter:url | https://leetcodejavascript.com/solutions/maximum-average-subarray-ii |
| twitter:image | https://leetcodejavascript.com/og-image.jpg |
| twitter:creator | @joshcrozier |
| theme-color | #1f2937 |
Links:
| LeetCodeJavascript.com | https://leetcodejavascript.com/ |
| Star on GitHub | https://github.com/JoshCrozier/leetcode-javascript |
| Back to all solutions | https://leetcodejavascript.com |
| View on LeetCode | https://leetcode.com/problems/maximum-average-subarray-ii/ |
| View on GitHub | https://github.com/JoshCrozier/leetcode-javascript/blob/master/solutions/0644-maximum-average-subarray-ii.js |
| Array | https://leetcodejavascript.com/tags/array |
| Binary Search | https://leetcodejavascript.com/tags/binary-search |
| Prefix Sum | https://leetcodejavascript.com/tags/prefix-sum |
| Josh Crozier | https://joshcrozier.com |
Viewport: width=device-width, initial-scale=1.0
Robots: index, follow