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

LeetCode75| 滑动窗口

目录

643 子数组最大平均数 |

1456 定长子串中元音的最大数目

1004 最大连续1的个数 |||

1493 删掉一个元素以后全为1的最长子数组


643 子数组最大平均数 |

class Solution {
public:double findMaxAverage(vector<int>& nums, int k) {double sum = 0;double res = 0;for(int i = 0;i < k;i++)sum += nums[i];res = sum / k;int l = 0,r = k;for(;r < nums.size();){sum += nums[r++];sum -= nums[l++];res = max(res,sum / k);}return res;}
};

时间复杂度O(n)

空间复杂度O(1)

1456 定长子串中元音的最大数目

class Solution {
public:bool isVowel(char ch){return ch == 'a' || ch == 'e' || ch == 'i' || ch == 'o' || ch == 'u';}int maxVowels(string s, int k) {int res = 0;for(int i = 0;i < k;i++){res += isVowel(s[i]);}     int temp = res;for(int i = k;i < s.size();i++){temp += isVowel(s[i]) - isVowel(s[i - k]);res = max(res,temp);}return res;}
};

时间复杂度O(n)

空间复杂度O(1)

1004 最大连续1的个数 |||

在确保区间内0的总数小于k的情况下统计1的数量 

class Solution {
public:int longestOnes(vector<int>& nums, int k) {int res = 0,sum = 0;for(int r = 0,l = 0;r < nums.size();r++){if(!nums[r])sum++;while(sum > k)if(!nums[l++])sum--; res = max(r - l +1,res);}return res;}
};

时间复杂度O(n)

空间复杂度O(1)

1493 删掉一个元素以后全为1的最长子数组

与1004 最大连续1的个数 |||思路相同 

class Solution {
public:int longestSubarray(vector<int>& nums) {int res = 0,sum = 0;for(int r = 0,l = 0;r < nums.size();r++){if(!nums[r])sum++;while(sum > 1){if(!nums[l++]){sum--;}}res = max(res,r - l);//注意题意,需要删除一个元素,这里不加1}return res;}
};

时间复杂度O(n)

空间复杂度O(1)

http://www.lryc.cn/news/268567.html

相关文章:

  • gulimall-002 分布式基础概念
  • K8s之声明式APIs
  • Hive执行计划
  • Leetcode—62.不同路径【中等】
  • 【汇编笔记】初识汇编-内存读写
  • Shell脚本通过渗透测试检测服务器安全!
  • 数据结构--查找
  • IntelliJ IDEA Apache Dubbo,IDEA 官方插件正式发布!
  • 使用Visual Studio 2022 winform项目打包成安装程序.exe
  • 报错-idea pom.xml 有一条灰色横线
  • openmediavault(OMV) (19)云相册(3)mt-photos
  • 基于openGauss5.0.0全密态数据库等值查询小案例
  • Oracle中varchar2和nvarchar2的区别
  • linux环境下从一个服务器复制文件到另一个服务器
  • JSoup 爬虫遇到的 404 错误解决方案
  • Vue.set 方法原理
  • CentOS 7的新特性
  • Vue 模板编译原理
  • ElementUI的Table组件行合并上手指南
  • 【ES6】Class继承-super关键字
  • 做亚马逊测评不知道怎么找客户?这才是亚马逊测评的正确打开方式!
  • 传感器基础:传感器使用与编程使用(三)
  • 深入浅出:分布式、CAP 和 BASE 理论(荣耀典藏版)
  • vue3+elementPlus:el-drawer新增修改弹窗复用
  • 使用Docker快速安装grafana
  • excel 函数技巧
  • Ubuntu安装WordPress并使用Nginx作为Web服务器
  • [Linux]Ubuntu noVNC使用
  • CSRF和SSRF原理、区别、防御方法
  • 如何使用JMeter测试https请求