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

小蜜蜂网站建设免费摄影网站推荐

小蜜蜂网站建设,免费摄影网站推荐,wordpress网页聊天工具,班级网站建设策划书檐角炊烟软暮光,云层裂隙漏斜阳。 新茧裹着旧伤结,老门推开陈酒香; 烛火飘摇明灭处,闷雷沉在青砖墙。 蜻蜓点破春潭影,一池星碎待风狂。 个人定长滑窗解题模板1.1 基础非会员题目1456. 定长子串中元音的最大数目643. 子…

檐角炊烟软暮光,云层裂隙漏斜阳。
新茧裹着旧伤结,老门推开陈酒香;
烛火飘摇明灭处,闷雷沉在青砖墙。
蜻蜓点破春潭影,一池星碎待风狂。

    • 个人定长滑窗解题模板
    • §1.1 基础非会员题目
      • 1456. 定长子串中元音的最大数目
      • 643. 子数组最大平均数 I
      • 1343. 大小为 K 且平均值大于等于阈值的子数组数目
      • 2090. 半径为 k 的子数组平均值
      • 2379. 得到 K 个黑块的最少涂色次数
      • 2841. 几乎唯一子数组的最大和
      • 2461. 长度为 K 子数组中的最大和
      • 1423. 可获得的最大点数
      • 1052. 爱生气的书店老板
      • 1652. 拆炸弹


个人定长滑窗解题模板

  1. 初始化窗口及累积变量
    确定窗口长度 k,处理非法输入(如 k > n 直接返回)。
    我的习惯性写法:
		int right;for(right=0;right<k;++right){……维护条件}    

这样的写法有两点好处:一是right可以留存而非在for的局部结束后被销毁,用于下一次在k+1到l的遍历;二,也是最重要的,始终是后面的遍历成为[,)左闭右开区间,遍历后面时left始终等于right-k,不用考虑加减1的情况

  1. 滑动窗口更新累积值
    从索引 k 开始遍历,每次右移窗口:
    ​添加新元素:当前右指针 right 对应值加入累积。
    ​移除旧元素:左边界元素(索引 right - k)从累积中扣除。

  2. 实时更新最终结果
    每次滑动后立即计算当前窗口状态,更新结果变量。


§1.1 基础非会员题目

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

1456. 定长子串中元音的最大数目
个人题解:

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

643. 子数组最大平均数 I

643. 子数组最大平均数 I
个人题解:

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

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

1343. 大小为 K 且平均值大于等于阈值的子数组数目
个人题解:

class Solution {
public:int numOfSubarrays(vector<int>& arr, int k, int threshold) {int l=arr.size(),cnt=0;double sum=0,hold=double(threshold);int right;for(right=0;right<k;++right){sum+=arr[right];}    if(sum/k>=hold) cnt++;for(;right<l;++right){sum+=arr[right];sum-=arr[right-k];if(sum/k>=hold) cnt++;}return cnt;}
};

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

2090. 半径为 k 的子数组平均值
个人题解:

class Solution {
public:vector<int> getAverages(vector<int>& nums, int k) {int n=nums.size();long long sum=0;vector<int> avgs(n,-1);for(int right=0;right<n;++right){if(right<2*k) {sum+=nums[right];}else{sum+=nums[right];avgs[right-k]=sum/(2*k+1);sum-=nums[right-2*k];}}return avgs;}
};

2379. 得到 K 个黑块的最少涂色次数

2379. 得到 K 个黑块的最少涂色次数
个人题解:

class Solution {
public:int minimumRecolors(string blocks, int k) {int l=blocks.size(),cnt=0,minn=0;int right;for(right=0;right<k;++right) if(blocks[right]=='W') cnt++;minn=cnt;for(;right<l;++right){if(blocks[right]=='W') cnt++;if(blocks[right-k]=='W') cnt--;minn=min(minn,cnt);}return minn;}
};

2841. 几乎唯一子数组的最大和

2841. 几乎唯一子数组的最大和
个人题解:

class Solution {
public:long long maxSum(vector<int>& nums, int m, int k) {unordered_map<int,int> cnt;int l=nums.size(),judge=0;long long sum=0,ans=0;int right;for(right=0;right<k;++right) {if(cnt[nums[right]]==0) judge++;cnt[nums[right]]++;sum+=nums[right];} if(judge>=m) ans=sum;for(;right<l;++right){if(--cnt[nums[right-k]]==0) judge--;sum-=nums[right-k];if(cnt[nums[right]]++==0) judge++;sum+=nums[right];if(judge>=m) ans=max(ans,sum);}return ans;}
};

2461. 长度为 K 子数组中的最大和

2461. 长度为 K 子数组中的最大和
个人题解:

class Solution {
public:long long maximumSubarraySum(vector<int>& nums, int k) {unordered_map<int,int> cnt;int l=nums.size(),judge=0;long long sum=0,ans=0;int right;for(right=0;right<k;++right){if(cnt[nums[right]]++==0) judge++;sum+=nums[right];}if(judge==k) ans=sum;for(;right<l;++right){if(--cnt[nums[right-k]]==0) judge--;sum-=nums[right-k];if(cnt[nums[right]]++==0) judge++;sum+=nums[right];if(judge==k) ans=max(ans,sum);}return ans;}
};

1423. 可获得的最大点数

1423. 可获得的最大点数
个人题解:

class Solution {
public:int maxScore(vector<int>& cardPoints, int k) {vector<int> new_cardPoints(2*k);auto it=new_cardPoints.begin();it=copy(cardPoints.end()-k,cardPoints.end(),it);it=copy(cardPoints.begin(),cardPoints.begin()+k,it);int sum=accumulate(new_cardPoints.begin(),new_cardPoints.begin()+k,0);int ans=sum;for(int right=k;right<2*k;++right){sum+=new_cardPoints[right];sum-=new_cardPoints[right-k];ans=max(ans,sum);}return ans;}
};

1052. 爱生气的书店老板

1052. 爱生气的书店老板
个人题解:

class Solution {
public:int maxSatisfied(vector<int>& customers, vector<int>& grumpy, int minutes) {int n=customers.size();int ans=accumulate(customers.begin(),customers.end(),0);int right=0,sum=0,total_mud=0;for(;right<minutes;++right) if(grumpy[right]) sum+=customers[right],total_mud+=customers[right];int maxx=sum;for(;right<n;++right){if(grumpy[right]) sum+=customers[right],total_mud+=customers[right];if(grumpy[right-minutes]) sum-=customers[right-minutes];maxx=max(sum,maxx);}return ans-(total_mud-maxx);}
};

1652. 拆炸弹

1652. 拆炸弹
个人题解:

class Solution {
public:vector<int> decrypt(vector<int>& code, int k) {int l=code.size();vector<int> key(l,0);if(k>0){vector<int> new_code(2*l,0);auto it=new_code.begin();it=copy(code.begin(),code.end(),it);it=copy(code.begin(),code.end(),it);int sum=0,right=1;for(;right<=k;++right) sum+=new_code[right];int left=0;key[left++]=sum;for(;left<l;++left,++right){sum+=new_code[right];sum-=new_code[left];//或者是right-kkey[left]=sum;}}else if(k<0){vector<int> new_code(2*l,0);auto it=new_code.begin();it=copy(code.end()+k,code.end(),it);it=copy(code.begin(),code.end(),it);int sum=0,right=0;for(;right<-k;++right) sum+=new_code[right];int left=0;key[left++]=sum;for(;left<l;++left,++right){sum+=new_code[right];sum-=new_code[left-1];//或者是right+kkey[left]=sum;}}   return key;}
};

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

相关文章:

  • 青岛网站推广哪家效果好朝阳网站
  • Linux安全机制--网络层安全机制
  • pc端与手机端网站开发的区别国内设计师个人网站欣赏
  • 抽奖机网站怎么做的不用付费的正能量软件
  • Excel——常用函数二
  • 3- 十大排序算法(基数排序、归并排序、快速排序、堆排序)
  • 数码设备存储新搭档 金士顿Select Plus存储卡
  • 好的设计师网站有哪些什么是seo营销
  • pytorch 线性回归
  • 推荐做问卷的网站产品设计方案3000字
  • 商务网站规划建设与管理试卷公众号开发信息什么意思
  • ACE无法启动,腾讯游戏反作弊器无法启动,ACE无法运行,软件无法运行,本次操作由于计算机限制而被取消、请与系统管理员联系
  • golang基础语法(四) 数组
  • 开源手机网站模板刚做的网站为什么百度搜不到
  • 云锁客户端连不上服务器处理
  • 网站建设优化服务熊掌号网站怎么显示百度名片
  • LNMP架构(分离部署)PHP与数据库交互示例
  • Git----常用指令入门
  • 传输无界 金士顿双接口U盘上新抽电脑
  • Real-Time MDNet
  • 从零开始:接入suno api V5.0模型:认识 Suno AI音乐 - 第1篇
  • wordpress成品图开封做网站优化
  • 陕西省住房建设厅官方网站开发软件需要多少成本
  • 软硬件基本相同的两个设备,AE表现不一致的原因定位
  • 湖南网站开发公司电话网络设计与制作
  • 天数智芯智铠100性能测试
  • datawhale玩转通义四大新模型 202509 第6次作业
  • 响应式品牌网站wordpress图片文字
  • 电子商城建设网站品牌建设实施纲要
  • 责任链设计模式详解