LeetCode75——Day14

news/2024/5/20 8:06:13 标签: 数据结构, 算法, leetcode, c++, 滑动窗口

文章目录

    • 一、题目
    • 二、题解

一、题目

643. Maximum Average Subarray I

You are given an integer array nums consisting of n elements, and an integer k.

Find a contiguous subarray whose length is equal to k that has the maximum average value and return this value. Any answer with a calculation error less than 10-5 will be accepted.

Example 1:

Input: nums = [1,12,-5,-6,50,3], k = 4
Output: 12.75000
Explanation: Maximum average is (12 - 5 - 6 + 50) / 4 = 51 / 4 = 12.75
Example 2:

Input: nums = [5], k = 1
Output: 5.00000

Constraints:

n == nums.length
1 <= k <= n <= 105
-104 <= nums[i] <= 104

二、题解

利用滑动窗口的性质解题

class Solution {
public:
    double findMaxAverage(vector<int>& nums, int k) {
        int n = nums.size();
        double res = INT_MIN;
        double tmp = 0;
        for(int i = k - 1;i < n;i++){
            if(i == k - 1){
                int count = k;
                while(count--) tmp += nums[i-count];
                res = max(tmp,res);
            }
            else{
                tmp -= nums[i - k];
                tmp += nums[i];
                res = max(tmp,res);
            }
        }
        return res / k;
    }
};

http://www.niftyadmin.cn/n/5116766.html

相关文章

Ubuntu挂载NFS(Network File System) ,怎么解决权限不一致的问题?

文章目录 1&#xff0c;挂载时&#xff0c;使用noacl选项2&#xff0c;挂载时&#xff0c;使用all_squash选项3&#xff0c;检查文件夹权限755 权限说明 4&#xff0c;查看错误消息推荐阅读 在Ubuntu上挂载NFS(Network File System) 1共享目录时&#xff0c;权限不一致问题可能…

雷达开发的基本概念fft,cfar,以及Clutter, CFAR,AoA

CFAR Constant False-Alarm Rate的缩写。在雷达信号检测中&#xff0c;当外界干扰强度变化时&#xff0c;雷达能自动调整其灵敏度&#xff0c;使雷达的虚警概率保持不变。具有这种特性的接收机称为恒虚警接收机。雷达信号的检测总是在干扰背景下进行的&#xff0c;这些干扰包括…

深入浅出排序算法之归并排序

目录 1. 归并排序的原理 1.1 二路归并排序执行流程 2. 代码分析 2.1 代码设计 3. 性能分析 4. 非递归版本 1. 归并排序的原理 “归并”一词的中文含义就是合并、并入的意思&#xff0c;而在数据结构中的定义是将两个或者两个以上的有序表组合成一个新的有序表。 归并排序…

【数据库】分组数据 GROUP BY、HAVING

分组数据 创建分组过滤分组SQL 子句顺序 创建分组 s q l sql sql 中&#xff0c;使用 GROUP BY 子句对数据进行分组。分组通常与聚合函数一起使用&#xff0c;以对每个组内的数据执行聚合操作&#xff1b; e . g . e.g. e.g. 按照客户分组&#xff0c;计算每个客户的订单总金额…

读书笔记:Effective C++ 2.0 版,条款37(不要重新定义继承而来的非虚函数)、条款38(不重新定义继承而来的缺省参数值)

条款37: 决不要重新定义继承而来的非虚函数 非虚函数在编译期静态绑定&#xff0c;容易出错。 概念上也不合适。 任何条件下都要禁止重新定义继承而来的非虚函数。 条款38: 决不要重新定义继承而来的缺省参数值 继承一个有缺省参数值的虚函数。 虚函数是动态绑定而缺省参数值是…

C++初阶 入门(2)

目录 一、缺省函数 1.1什么是缺省函数 1.2为什么要有缺省函数 1.3使用缺省函数 1.4测试代码 二、函数重载 2.1什么是函数重载 2.2为什么要有函数重载 2.3什么情况构成函数重载 2.4函数重载例子及代码 三、引用 3.1什么是引用 3.2如何引用 ​3.3常引用(可略过) 3…

前端开发技术栈(工具篇):详细介绍npm、pnpm和cnpm分别是什么,使用方法以及之间有哪些关系

目录 npm、pnpm和cnpm分别是什么 npm pnpm cnpm NPM包管理器 使用npm管理&#xff0c;创建/初始化项目 修改npm镜像&#xff08;npm源设置&#xff09; 基本命令 安装依赖项 下载特定版本的依赖 下载开发依赖 下载全局依赖&#xff08;全局安装&#xff09; 升级依…

如何理解对数差异、比对数几率

文章目录 对数几率逻辑回归“对数差异比”(或常称为对数几率,log odds)是一种表示和处理概率的方法。 对数差异比(对数几率): 对于一个概率值 ( p ),它的对数几率定义为: [ \text{log odds} = \log \left( \frac{p}{1-p} \right) ] 这里,( p ) 是某事件发生的概率,而 (…