LeetCode //C - 643. Maximum Average Subarray I

643. Maximum Average Subarray I

You are given an integer array nums consisting of n elements, and an integer k.

Find a contiguous subarray whose length is equal to k that has the maximum average value and return this value. Any answer with a calculation error less than 1 0 − 5 10^{-5} 105 will be accepted.
 

Example 1:

Input: nums = [1,12,-5,-6,50,3], k = 4
Output: 12.75000
Explanation: Maximum average is (12 - 5 - 6 + 50) / 4 = 51 / 4 = 12.75

Example 2:

Input: nums = [5], k = 1
Output: 5.00000

Constraints:
  • n == nums.length
  • 1 < = k < = n < = 1 0 5 1 <= k <= n <= 10^5 1<=k<=n<=105
  • − 1 0 4 < = n u m s [ i ] < = 1 0 4 -10^4 <= nums[i] <= 10^4 104<=nums[i]<=104

From: LeetCode
Link: 643. Maximum Average Subarray I


Solution:

Ideas:

The function starts by calculating the sum of the first k elements. Then, it slides the window across the array, updating the sum for each new window by subtracting the element that is left behind and adding the new element. It keeps track of the maximum sum encountered. Finally, it returns the maximum average by dividing the maximum sum by k.

Code:
double findMaxAverage(int* nums, int numsSize, int k) {
   
    // Initial calculation for the first window
    double sum = 0;
    for (int i = 0; i < k; i++) {
   
        sum += nums[i];
    }

    double maxSum = sum;

    // Slide the window, update the sum and maxSum
    for (int i = k; i < numsSize; i++) {
   
        sum = sum - nums[i - k] + nums[i];
        if (sum > maxSum) {
   
            maxSum = sum;
        }
    }

    // Return the maximum average
    return maxSum / k;
}

相关推荐

  1. <span style='color:red;'>613</span>作业

    613作业

    2023-12-25 10:26:02      9 阅读
  2. LeetCode //C - 643. Maximum Average Subarray I

    2023-12-25 10:26:02       41 阅读
  3. 643.子数组最大平均数

    2023-12-25 10:26:02       7 阅读
  4. Leetcode 643. 子数组最大平均数 I

    2023-12-25 10:26:02       17 阅读
  5. 力扣-643. 子数组最大平均数 I

    2023-12-25 10:26:02       7 阅读
  6. 647.回文子串

    2023-12-25 10:26:02       28 阅读
  7. leetcode633 平方数之和

    2023-12-25 10:26:02       34 阅读

最近更新

  1. TCP协议是安全的吗?

    2023-12-25 10:26:02       16 阅读
  2. 阿里云服务器执行yum,一直下载docker-ce-stable失败

    2023-12-25 10:26:02       16 阅读
  3. 【Python教程】压缩PDF文件大小

    2023-12-25 10:26:02       15 阅读
  4. 通过文章id递归查询所有评论(xml)

    2023-12-25 10:26:02       18 阅读

热门阅读

  1. 面试经典150题(47-49)

    2023-12-25 10:26:02       27 阅读
  2. 【大数据学习笔记】新手学习路线图

    2023-12-25 10:26:02       39 阅读
  3. HTTP 简介 (js)

    2023-12-25 10:26:02       34 阅读
  4. 【C#与Redis】--高级主题--Redis 事务

    2023-12-25 10:26:02       24 阅读
  5. 13.bash shell中的if-then语句

    2023-12-25 10:26:02       37 阅读
  6. 从命令行里打开pycharm项目

    2023-12-25 10:26:02       33 阅读
  7. @RequestMapping详解:请求映射规则

    2023-12-25 10:26:02       44 阅读
  8. Flash、Ajax各自的优缺点,在使用中如何取舍

    2023-12-25 10:26:02       29 阅读
  9. Linux: dev: cmake: CHECK_LIBRARY_EXISTS

    2023-12-25 10:26:02       33 阅读