題目描述:
給定 n 個整數,找出平均數最大且長度為 k 的連續子陣列,並輸出該最大平均數。
示例 1:
輸入: [1,12,-5,-6,50,3], k = 4
輸出: 12.75
解釋: 最大平均數 (12-5-6+50)/4 = 51/4 = 12.75
注意:
1 <= k <= n <= 30,000。
所給資料範圍 [-10,000,10,000]。
方法1:
主要思路:
(1)直觀的想,就是先找出前k 的元素的和作為初始值,然後逐位的更新 k 個元素的和,並保留最大值即可;
(2)最後將最大值和轉成double型別求平均即可;
class
solution
//初始值
cur_max=cur_sum;
//遍歷元素,更新k 個元素和, 保留最大k 個元素的和
for(
int i=k;isize()
;++i)
return
(double
(cur_max)
)/k;
//返回結果}}
;
LeetCode 643 子陣列最大平均數 I
給定n個整數,找出平均數最大且長度為k的連續子陣列,並輸出該最大平均數。示例 1 輸入 1,12,5,6,50,3 k 4 輸出 12.75 解釋 最大平均數 12 5 6 50 4 51 4 12.75 注意 1 k n 30,000。所給資料範圍 10,000,10,000 思路 先求前k個數的...
643 子陣列最大平均數 I(滑動視窗)
給定 n 個整數,找出平均數最大且長度為 k 的連續子陣列,並輸出該最大平均數。示例 輸入 1,12,5,6,50,3 k 4 輸出 12.75 解釋 最大平均數 12 5 6 50 4 51 4 12.75 由於是關於乙個陣列中子陣列的求和問題,所以可以利用滑動視窗方法來解。1 首先,將陣列 nu...
子陣列最大平均數
給定 n 個整數,找出平均數最大且長度為 k 的連續子陣列,並輸出該最大平均數。示例 1 輸入 1,12,5,6,50,3 k 4 輸出 12.75 簡單的滑動視窗題目 直接暴力求解會導致時間複雜度過高,大量資料輸入超出最大執行時間 使用滑動視窗優化減少迴圈巢狀 1.初始前k個數的值sum 2.從第...