当前位置: 首页> 财经> 创投人物 > 营销团队的建设与管理_企业安全文化建设的意义_如何关闭2345网址导航_专业做seo推广

营销团队的建设与管理_企业安全文化建设的意义_如何关闭2345网址导航_专业做seo推广

时间:2025/7/11 7:55:50来源:https://blog.csdn.net/qq_57349657/article/details/143082043 浏览次数:0次
营销团队的建设与管理_企业安全文化建设的意义_如何关闭2345网址导航_专业做seo推广

题目

给你一个下标从 0 开始的数组 nums ,数组中有 n 个整数,另给你一个整数 k 。

半径为 k 的子数组平均值 是指:nums 中一个以下标 i 为 中心 且 半径 为 k 的子数组中所有元素的平均值,即下标在 i - k 和 i + k 范围( i - k 和 i + k)内所有元素的平均值。如果在下标 i 前或后不足 k 个元素,那么 半径为 k 的子数组平均值 是 -1 。

构建并返回一个长度为 n 的数组 avgs ,其中 avgs[i] 是以下标 i 为中心的子数组的 半径为 k 的子数组平均值 

x 个元素的 平均值 是 x 个元素相加之和除以 x ,此时使用截断式 整数除法 ,即需要去掉结果的小数部分。

  • 例如,四个元素 231 和 5 的平均值是 (2 + 3 + 1 + 5) / 4 = 11 / 4 = 2.75,截断后得到 2 。

思路:定长滑动窗口  入  更新  出

代码

class Solution {public int[] getAverages(int[] nums, int k) {int n = nums.length;int[] ans = new int[n];long sum = 0;  // 防止溢出if (n < 2 * k + 1) {java.util.Arrays.fill(ans, -1);return ans;}for (int i = 0; i < n; i++) {if (i < k || i > n - 1 - k)ans[i] = -1;sum += nums[i];if (i < 2 * k )continue;ans[i - k] = (int) (sum / (2 * k + 1));sum -= nums[i - 2 * k];}return ans;}
}

性能

时间复杂度o(n)

空间复杂度o(1)

关键字:营销团队的建设与管理_企业安全文化建设的意义_如何关闭2345网址导航_专业做seo推广

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com

责任编辑: