当前位置: 首页 > news >正文

[算法练习]第三天:定长滑动窗口

643. 子数组最大平均数 I

        切记,这里的三段式

        右指针入队列-》判断-》左指针出队列以备下一次判断

        因为这里只需要最后返回平均值,所以只需要最后进行强制类型转换为double即可,不需要提前把变量设置为double

class Solution {
public:double findMaxAverage(vector<int>& nums, int k) {int ans = INT_MIN;int temp = 0;for(int right = 0; right < nums.size(); right++){// 右指针temp += nums[right];//判断int left = right - k + 1;if(left < 0) continue;ans = max(ans,temp);//左指针出队列,以备下一次入队列temp -= nums[left];}return (double)ans/k;}
};

1343. 大小为 K 且平均值大于等于阈值的子数组数目

        思路一点没变

class Solution {
public:int numOfSubarrays(vector<int>& arr, int k, int threshold) {int ans = 0;int temp = 0;for(int right = 0;right < arr.size();right++){temp += arr[right];int left = right - k + 1;if(left < 0) continue;if(temp >= threshold*k) ans++;temp -= arr[left];}return ans;}
};

2090. 半径为 k 的子数组平均值

        思路很像,几乎没什么区别,这里注意示例元素和可能会超过int,要用long long;数组初始化使用-1会方便很多;

class Solution {
public:vector<int> getAverages(vector<int>& nums, int k) {vector<int>ans(nums.size(),-1);long long temp = 0;for(int right = 0;right < nums.size();right++){temp += nums[right];int left = right - 2*k ;if(left < 0) continue;//判断ans[(left+right)/2] = temp/(2*k+1);temp -= nums[left];}return ans;}
};

http://www.dtcms.com/a/419173.html

相关文章:

  • 山海织锦·时序成画——连云港城市旅游宣传片的策划、拍摄与制作全流程解构
  • Mariadb服务器
  • 现代Web存储技术(三):配额监控与自动化清理机制
  • 高并发系统的海量数据处理架构
  • 苹果群控系统游戏运营如何实现自动执行任务
  • NXP - 在MCUXpresso IDE中查看编译日志文件的方法
  • 荣耀官方网站郑州粒米seo外包
  • UI自动化框架之Selenium(一)
  • AI编程:自动化代码生成的实践
  • 网站免费建站ppa企业网站托管和网站建设服务商
  • LSTM自然语言处理情感分析项目(二)加载数据集
  • 自定义渲染管线 Custom Render Pipeline
  • 【循环神经网络3】门控循环单元GRU详解
  • 邯郸网站设计做网站的动态图片
  • 建网站要花钱吗网络建设推广
  • 【Java并发】揭秘Lock体系 -- 深入理解AbstractQueuedSynchronizer(AQS)
  • 3.8 数据链路层设备 (答案见原书 P122)
  • 轻松修复 WordPress 的“缺少临时文件夹”错误
  • PHP智能开发工具PhpStorm v2025.2全新上线——支持PHPUnit 12等
  • MySQL 事务和 Spring 事务
  • 怎样免费建立网站广州工商注册查询系统官网
  • 广州新建站wordpress 缩略图 oss
  • JVM 目录
  • Unity学习之常用的数据结构
  • 【C++实战(51)】C++11新特性实战:移动语义与右值引用,解锁性能密码
  • 做宠物的网站有哪些做任务 网站
  • python做网站缺点公司建设官方网站
  • 【笔记】1.1 化学电源的组成
  • 【面试题】HTTP与HTTPS的区别
  • 虚幻引擎|UE5制作DeepSeek插件并打包发布