有一个N个整数的数组
和一个长度为M的窗口
窗口从数组内的第一个数开始滑动
直到窗口不能滑动为止
每次滑动产生一个窗口 和窗口内所有数的和
求窗口滑动产生的所有窗口和的最大值
输入描述
第一行输入一个正整数N
表示整数个数 0<N<100000
第二行输入N个整数
整数取值范围 [-100,100]
第三行输入正整数M
M代表窗口的大小
M<=100000 并<=N
输出描述
窗口滑动产生所有窗口和的最大值
示例一
输入
6
12 10 20 30 15 23
3
输出
68
<?php $n=fgets(STDIN); $arr=explode(' ',trim(fgets(STDIN))); $m=fgets(STDIN); solution($n,$arr,$m); function solution($n,$arr,$m) { $max=PHP_INT_MIN; for($i=0;$i<$n-$m+1;$i++){ $sum=0; for ($j=$i;$j<$i+$m;$j++){ $sum+=$arr[$j]; } $max=max($sum,$max); } echo $max; }
原创文章,作者:kepupublish,如若转载,请注明出处:https://blog.ytso.com/275529.html