From 2b6d39616eae4bf4daf9fb9e5f76396abb821314 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=94=90=E6=A0=91=E6=A3=AE?= <14021051@buaa.edu.cn> Date: Tue, 11 Sep 2018 21:39:37 +0800 Subject: [PATCH] Create 643. Maximum Average Subarray I.md --- 643. Maximum Average Subarray I.md | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+) create mode 100644 643. Maximum Average Subarray I.md diff --git a/643. Maximum Average Subarray I.md b/643. Maximum Average Subarray I.md new file mode 100644 index 0000000..70b9eb5 --- /dev/null +++ b/643. Maximum Average Subarray I.md @@ -0,0 +1,20 @@ +# [643. Maximum Average Subarray I](https://leetcode.com/problems/maximum-average-subarray-i/description/) +# 思路 +用一个sum记录当前窗口的和,向右移动窗口找出最大的sum +注意:亲测`if(max_sum < sum) max_sum = sum;`比`max_sum = max(max_sum, sum)`慢一些 +# C++ +``` +class Solution { +public: + double findMaxAverage(vector& nums, int k) { + double sum = 0, max_sum; + for(int i = 0; i < k; i++) sum += nums[i]; + max_sum = sum; + for(int i = k; i < nums.size(); i++){ + sum = sum - nums[i - k] + nums[i]; + max_sum = max(sum, max_sum); + } + return max_sum / double(k); + } +}; +```