643. Maximum Average Subarray I
来源:互联网 发布:mac系统如何倒退 编辑:程序博客网 时间:2024/06/06 02:06
题目:
Given an array consisting of n
integers, find the contiguous subarray of given length k
that has the maximum average value. And you need to output the maximum average value.
Example 1:
Input: [1,12,-5,-6,50,3], k = 4Output: 12.75Explanation: Maximum average is (12-5-6+50)/4 = 51/4 = 12.75
Note:
- 1 <=
k
<=n
<= 30,000. - Elements of the given array will be in the range [-10,000, 10,000].
本题一开始简单直接的思路是利用两层for循环,但是结果会time limit,那是每层循环都会有重复计算项,那么本题建立一个长度为k的窗口,从左至右依次滑动一个数字,每次的和就是加上最新的一个数,减去最左边的数。
代码:
class Solution {public: double findMaxAverage(vector<int>& nums, int k) { double res = -10000*k; double sumnum = accumulate(nums.begin(),nums.begin()+k,0); res = res<sumnum?sumnum:res; for(int i=k;i<nums.size();i++) { sumnum = sumnum+nums[i]-nums[i-k]; res = res<sumnum?sumnum:res; } return res/k*1.0; }};
阅读全文
1 0
- 643. Maximum Average Subarray I
- 643. Maximum Average Subarray I
- 643. Maximum Average Subarray I
- 643. Maximum Average Subarray I
- 643. Maximum Average Subarray I
- 643. Maximum Average Subarray I
- 643. Maximum Average Subarray I
- 643. Maximum Average Subarray I
- Maximum Average Subarray I
- LeetCode 643. Maximum Average Subarray I
- [LeetCode]643. Maximum Average Subarray I
- [LeetCode] 643. Maximum Average Subarray I
- LeetCode 643. Maximum Average Subarray I
- leetcode 643. Maximum Average Subarray I
- [LeetCode]643. Maximum Average Subarray I
- 算法643. Maximum Average Subarray I
- leetcode 643. Maximum Average Subarray I
- LeetCode 643. Maximum Average Subarray I
- 按输入序列长度为M,按其数据二进制中 ‘1’ 的个数多少,返回前N多的元素
- OpenCV统计米粒数目-计算联通区域的个数及联通区域内像素的个数
- 网站营销不等于网站建设
- java.text.ParseException: Unparseable date:
- 终于有人把股市集合竞价的秘密说清楚了
- 643. Maximum Average Subarray I
- Android EditText限制文本输入的长度并给予提示
- cronatab周期性任务
- 我的vue插件使用整理
- Android 实现人脸识别
- 简单选择排序
- 储存过程
- Filter学习杂记
- $.ajax()方法详解