【强训笔记】day13

news/2024/10/22 8:24:10/

NO.1
在这里插入图片描述
代码实现:

 #include <iostream>#include<string>using namespace std;int n,k,t;
string s;int func()
{int ret=0;for(int i=0;i<n;i++){char ch=s[i];if(ch=='L') ret-=1;else{if(i-1>=0&&i-2>=0&&s[i-1]=='W'&&s[i-2]=='W') ret+=k;else{ret+=1;}}
}return ret;
}int main()
{cin>>t;while(t--){cin>>n>>k>>s;cout<<func()<<endl;}return 0;
}

NO.2
在这里插入图片描述
思路:双指针+滑动窗口,哈希判断是否有重复字符,如果有就出窗口,出窗口就更新长度,right++继续遍历。
代码实现:

class Solution {
public:int hash[100010]={0};int maxLength(vector<int>& arr) {int left=0,right=0;int n=arr.size();int ret=0;while(right<n){hash[arr[right]]++;while(hash[arr[right]]>1){hash[arr[left]]--;left++;}ret=max(ret,right-left+1);right++;}return ret;}
};

NO.3
在这里插入图片描述
在这里插入图片描述
思路:用哈希表统计出现次数最多的字符,再判断是否可以重排,如果次数大于(n+1)/2就不能重排,再处理出现次数最多的字符,间隔一个就摆放,如果摆放的位置大于n,就从1开始摆放,也是间隔一个格子,最后输出就可以了。

代码实现:

#include<iostream>using namespace std;const int N=1e5+10;
char s[N];
char ret[N];
int n;int main()
{cin>>n>>s;int hash[26]={0};char maxchar=0;int maxcount=0;for(int i=0;i<n;i++){int index=s[i]-'a';if(++hash[index]>maxcount){maxchar=s[i];maxcount=hash[index];}}if(maxcount>(n+1)/2) cout<<"no"<<endl;else{cout<<"yes"<<endl;int i=0;while(maxcount--){ret[i]=maxchar;i+=2;}for(int j=0;j<26;j++){if(hash[j]&&j+'a'!=maxchar){while(hash[j]--){if(i>=n) i=1;ret[i]=j+'a';i+=2;}}}for(int j=0;j<n;j++) cout<<ret[j];cout<<endl;}return 0;
}

http://www.ppmy.cn/news/1457788.html

相关文章

武汉星起航:亚马逊:跨境电商领军平台,中国卖家全球拓展的首选

2015年&#xff0c;亚马逊全球开店业务正式进入中国&#xff0c;为中国卖家带来了全新的跨境电商机遇。如今&#xff0c;亚马逊已在全球拥有包括美国、加拿大、墨西哥、英国、法国、德国等在内的17大海外站点&#xff0c;为中国卖家提供了广阔的销售市场。武汉星起航将详细探讨…

Web Component fancy-components

css-doodle 组件库 fancy-components 组件库使用 yarn add fancy-components使用&#xff1a; import { FcBubbles } from fancy-components new FcBubbles() //要用哪个就new哪个 new 这里可能会报错eslink,eslintrc.js中处理报错 module.exports {rules: {no-new: off} …

嵌入式人工智能应用-第三章 opencv操作1

一 函数的基本操作 1.1 图像的存取和显示 有多种方式从现实世界中获取数字图像&#xff1a;数码相机&#xff0c;扫描仪&#xff0c;计算机断层扫描和磁共振成像等等。在任何情况下&#xff0c;人类看到的都是图像。然而&#xff0c;当将其转换为数字设备时&#xff0c;数字设…

ubuntu20部署3d高斯

3d高斯的链接&#xff1a;https://github.com/graphdeco-inria/gaussian-splatting 系统环境 ubuntu20的系统环境&#xff0c;打算只运行训练的代码&#xff0c;而不去进行麻烦的可视化&#xff0c;可视化直接在windows上用他们预编译好的exe去可视化。&#xff08;因为看的很…

tracert命令

Tracert&#xff08;跟踪路由&#xff09;是路由跟踪实用程序&#xff0c;用于确定IP数据报访问目标所采取的路径。Tracert命令用IP生存时间&#xff08;TTL&#xff09;字段和ICMP错误消息&#xff0c;来确定从一个主机到网络上其他主机的路由。 命令格式&#xff1a;tracert …

中国棋手再夺世界桂冠,李轩豪问鼎第五届梦百合杯世界围棋公开赛

5月4日,第五届“MLILY梦百合0压床垫杯”世界围棋公开赛决赛在江苏省如皋市圆满结束,中国棋手党毅飞和李轩豪展开巅峰对决,最终,李轩豪执白168手战胜党毅飞,以3比1的比分夺得桂冠并获得由MLILY梦百合赞助的180万冠军奖金,这是李轩豪个人职业生涯中首次问鼎世界冠军,成为世界棋坛…

Redis是什么? 日常运维 Redis 需要注意什么 ? 怎么降低Redis 内存使用 节省内存?

你的项目或许已经使用 Redis 很长时间了&#xff0c;但在使用过程中&#xff0c;你可能还会或多或少地遇到以下问题&#xff1a; 我的 Redis 内存为什么增长这么快&#xff1f;为什么我的 Redis 操作延迟变大了&#xff1f;如何降低 Redis 故障发生的频率&#xff1f;日常运维…

创建Chrome插件:自动刷新网页

创建Chrome插件&#xff1a;自动刷新网页 前言 在日常工作和生活中&#xff0c;我们经常需要频繁刷新网页以获取最新的数据和信息。无论是开发人员进行网站测试&#xff0c;还是用户关注实时股市动态&#xff0c;手动刷新网页既耗时又低效。因此&#xff0c;本文将介绍如何创…