leetcode 643. 子数组最大平均数 I

这篇具有很好参考价值的文章主要介绍了leetcode 643. 子数组最大平均数 I。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

  • 题目描述
  • 解题思路
  • 执行结果
leetcode 643. 子数组最大平均数 I

题目描述

  1. 子数组最大平均数 I

给你一个由 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

解题思路

法1

方法1:滑窗

我们需要得到最大的和值然后再除以k(数量)

  • 计算最大和值
  1. 计算前k个数的和值
  2. 指针向后移动,加上后一位的值再减去第一个的值计算出这个区间的和值,再与最大的和值进行比较,
  3. 大于则将该值作为最大值
  4. 一直循环遍历整个数组找出最大是k值区间
  • 除以k求得结果
  • 时间复杂度(O(n))
  • 空间复杂度(O(1))

执行结果

法1
func findMaxAverage(nums []int, k int) float64 {
 t := 0
 for i := 0; i < k; i++ {
  t += nums[i]
 }
 r := t
 for i := k; i < len(nums); i++ {
  t = t - nums[i-k] + nums[i]
  if t > r {
   r = t
  }
 }
 return float64(r) / float64(k)
}

执行结果: 通过 显示详情 查看示例代码 添加备注

执行用时: 140 ms , 在所有 Go 提交中击败了 81.28% 的用户 内存消耗: 8.2 MB , 在所有 Go 提交中击败了 52.97% 的用户 通过测试用例: 127 / 127 炫耀一下:

法2

法3

本文由 mdnice 多平台发布文章来源地址https://www.toymoban.com/news/detail-430979.html

到了这里,关于leetcode 643. 子数组最大平均数 I的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • C语言计算N个数的平均数

    程序如下所示:  #define _CRT_SECURE_NO_WARNINGS #includestdio.h #define N 10//使用define语句将10赋值给符号常量N,(求10个数的平均值)  int main() {     int count;     float sum, average, number;//声明变量,     sum = 0;     count = 1;     while(countN)//while循环语句,用循环语句求和     {     

    2024年02月07日
    浏览(39)
  • 高基数类别特征预处理:平均数编码

    对于一个类别特征,如果这个特征的取值非常多,则称它为高基数(high-cardinality)类别特征。在深度学习场景中,对于类别特征我们一般采用Embedding的方式,通过预训练或直接训练的方式将类别特征值编码成向量。在经典机器学习场景中,对于有序类别特征,我们可以使用

    2024年02月11日
    浏览(44)
  • python计算平均数、中位数及标准差

    哈喽,大家好呀,下面是我整理的python计算平均数、中位数和标准差的方法,咱们一起学习,共同进步! 1.计算平均数 方法① lst=[1,2,3,4,5]                 #首先定义一个列表  avg= sum (lst)/ len (lst)     #使用sum( )函数和len( )函数计算平均值 print(\\\'平均值为:\\\',avg) 方法② impo

    2024年02月17日
    浏览(40)
  • 高基数类别特征预处理:平均数编码 | 京东云技术团队

    对于一个类别特征,如果这个特征的取值非常多,则称它为高基数(high-cardinality)类别特征。在深度学习场景中,对于类别特征我们一般采用Embedding的方式,通过预训练或直接训练的方式将类别特征值编码成向量。在经典机器学习场景中,对于有序类别特征,我们可以使用

    2024年02月10日
    浏览(49)
  • C++编程计算平均数、众数和中位数,可以快速解决计算问题

    说明 求N个整数的平均数,众数和中位数。 小知识: 众数 如有9个数:17 13 17 9 17 17 3 16 17 17出现的次数最多,即为这组数的众数。 此题保证众数是唯一的。 中位数 如有9个数:102 170 96 90 97 106 110 182 100 将这9个数按一定的顺序(从大到小或从小到大)排列后得到: 182 170 110

    2024年02月07日
    浏览(74)
  • 【Python 数据分析】描述性统计:平均数(均值)、方差、标准差、极大值、极小值、中位数、百分位数、用箱型图表示分位数

    前面讲了数据分析中的第一步:数据预处理,下面就是数据分析的其中一个重头戏:描述性统计,具体内容为: 平均数(均值)、方差、标准差、极大值、极小值、中位数、百分位数、用箱型图表示分位数 。 关键方法 含义 .mean() 求均值 .var() 求方差 .std() 求标准差 .max() 求极

    2024年01月21日
    浏览(46)
  • Numpy中统计函数的讲解:平均值、中位数、标准差、方差、最大最小值、求和、加权平均数

    目录 统计函数: Numpy 能方便地求出统计学常见的描述性统计量 一:Numpy中统计函数--平均值 求平均值 二:Numpy中统计函数--中位数 中位数 np.median 平均数和中位数的区别 三:Numpy中统计函数--标准差 求标准差ndarray.std() 四:Numpy中统计函数--方差 求方差ndarray.var() 标准差和方差

    2024年02月06日
    浏览(60)
  • LeetCode每日一题——813. 最大平均值和的分组

    题目: 813. 最大平均值和的分组 难度: 普通 给定数组 nums 和一个整数 k 。我们将给定的数组 nums 分成 最多 k 个相邻的非空子数组 。 分数 由每个子数组内的平均值的总和构成。 注意我们必须使用 nums 数组中的每一个数进行分组,并且分数不一定需要是整数。 返回我们所能

    2024年02月13日
    浏览(37)
  • 【LeetCode力扣】189 53 轮转数组 | 最大子数组和

    目录 1、189. 轮转数组 1.1、题目介绍 1.2、解题思路 2、53. 最大子数组和 2.1、题目介绍 2.2、解题思路   原题链接: 189. 轮转数组 - 力扣(LeetCode) ​ 示例 1: 输入: nums = [1,2,3,4,5,6,7], k = 3 输出: [5,6,7,1,2,3,4] 解释: 向右轮转 1 步: [7,1,2,3,4,5,6] 向右轮转 2 步: [6,7,1,2,3,4,5] 向右轮转

    2024年02月08日
    浏览(37)
  • leetcode 152. 乘积最大子数组

    题目链接:leetcode 152 给你一个整数数组 nums ,请你找出数组中乘积最大的非空连续子数组(该子数组中至少包含一个数字),并返回该子数组所对应的乘积。 测试用例的答案是一个 32-位 整数。 子数组 是数组的连续子序列。 1)示例 1: 输入: nums = [2,3,-2,4] 输出: 6 解释: 子数

    2024年02月03日
    浏览(34)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包