子数组最大平均数 I
643. 子数组最大平均数 I - 力扣(LeetCode)
题目:
给你一个由 n
个元素组成的整数数组 nums
和一个整数 k
。
请你找出平均数最大且 长度为 k
的连续子数组,并输出该最大平均数。
任何误差小于 10-5
的答案都将被视为正确答案。
示例 1:
输入:nums = [1,12,-5,-6,50,3], k = 4 输出:12.75 解释:最大平均数 (12-5-6+50)/4 = 51/4 = 12.75
示例 2:
输入:nums = [5], k = 1 输出:5.00000
提示:
n == nums.length
1 <= k <= n <= 105
-104 <= nums[i] <= 104
自己的思路和代码:
思路:
他喵的,是滑窗吧,莽就完事了。
昨天困难题我唯唯诺诺,今天简单题我重拳出击!!!
代码:
double findMaxAverage(int* nums, int numsSize, int k){
int all=0;
int max=0;
for (int i = 0; i < k; i++) max += nums[i];
all=max;
for (int left = 0; left< numsSize-k; left++) {
all=all-nums[left]+nums[left+k];
if(all>max) max=all;
}
return (double)max/k;
}