专业建站外包,用wix做外贸网站,上海网站建设公司 珍岛,vr成品网站源码目录
643 子数组最大平均数 |
1456 定长子串中元音的最大数目
1004 最大连续1的个数 |||
1493 删掉一个元素以后全为1的最长子数组 643 子数组最大平均数 |
class Solution {
public:double findMaxAverage(vectorint nums, int k) {double sum 0;double re…目录
643 子数组最大平均数 |
1456 定长子串中元音的最大数目
1004 最大连续1的个数 |||
1493 删掉一个元素以后全为1的最长子数组 643 子数组最大平均数 |
class Solution {
public:double findMaxAverage(vectorint 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(vectorint 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(vectorint 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)