【强训笔记】day13

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.mzph.cn/news/833102.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

C++:模板初阶

文章目录 泛型编程函数模板概念函数模板格式函数模板的原理函数模板的实例化模板参数的匹配原则 模板类类模板的定义格式类模板实例化 泛型编程 如何实现一个通用的交换函数呢&#xff1f; 函数重载可以帮助我们完成 void Swap(int& left, int& right) {int temp l…

数据仓库项目---Day01

文章目录 框架的安装包数据仓库概念项目需求及架构设计项目需求分析项目框架技术选型系统数据流程设计框架版本选型集群资源规划设计 数据生成模块数据埋点主流埋点方式埋点数据上报时机 服务器和JDK准备搭建三台Linux虚拟机(VMWare)编写集群分发脚本xsyncSSH无密登录配置JDK准…

Read timed out. (python 安装第三方库超时)

不少人在安装python第三方库的时候经常发生下面情况 解决方法就是往上找 我这里就是 jupyterlab-4.1.8-py3-none-any.whl安装时间过长&#xff0c;失败 那就去国内镜像网站下载下来离线安装 https://pypi.tuna.tsinghua.edu.cn/simple/xxx&#xff08;xxx就是你的包名&#…

Linux 进程间通信之共享内存

&#x1f493;博主CSDN主页:麻辣韭菜&#x1f493;   ⏩专栏分类&#xff1a;Linux知识分享⏪   &#x1f69a;代码仓库:Linux代码练习&#x1f69a;   &#x1f339;关注我&#x1faf5;带你学习更多Linux知识   &#x1f51d; ​ 目录 ​编辑​ 前言 共享内存直接原理…

Spring Boot3.x集成Disruptor4.0

Disruptor介绍 Disruptor是一个高性能内存队列&#xff0c;研发的初衷是解决内存队列的延迟问题(在性能测试中发现竟然与I/O操作处于同样的数量级)。基于Disruptor开发的系统单线程能支撑每秒600万订单&#xff0c;2010年在QCon演讲后&#xff0c;获得了业界关注。2011年&…

Oracle12之后json解析包怎么调用

在 Oracle 12g 及之后的版本中&#xff0c;Oracle 提供了对 JSON 的原生支持&#xff0c;使得在数据库中存储、查询和解析 JSON 数据变得更为简单。你可以使用 Oracle 提供的 SQL 函数和操作符来处理 JSON 数据。 以下是一些常用的 Oracle SQL 函数和操作符&#xff0c;用于解…

02-大厂电商设计解析之商品管理系统

1 雪花算法使用 IdWorker idWorkernew IdWorker(1,1); for(int i0;i<10000;i){long id idWorker.nextId();System.out.println(id); } 配置分布式ID生成器 将IdWorker.java拷贝到util包在工程的resources下新增applicationContext-service.xml <!‐‐雪花ID生成器‐…

geojson文件规格

geojson文件示例&#xff0c; {"type": "FeatureCollection","features": [{"type": "Feature","geometry": {"type": "Point","coordinates": [102.0, 0.5]},"properties&q…

阴影渲染在AI去衣技术中的关键作用

引言&#xff1a; 随着人工智能技术的飞速发展&#xff0c;深度学习在图像处理领域取得了突破性的进展。其中&#xff0c;AI去衣技术作为一种高度复杂的图像到图像的转换过程&#xff0c;不仅要求算法能够精确地识别并处理衣物纹理和结构&#xff0c;还要求生成的结果具有高度的…

SaaS应用加速解决方案

随着企业业务的迅速扩展&#xff0c;SaaS应用成为企业提升办公效率的关键。然而&#xff0c;在SaaS应用广泛使用的同时&#xff0c;访问速度受限、网络拥堵等问题也逐渐浮现。为了解决这些挑战&#xff0c;SaaS应用加速方案应运而生&#xff0c;旨在助力企业高效运转&#xff0…

【网络】IP层分片和TCP分段,有MTU为什么还需要MSS

引言 在网络通信中&#xff0c;IP层分片和TCP分段是两个重要的概念&#xff0c;它们分别在网络层和传输层发挥着关键作用。本文将介绍IP层分片的作用和缺陷&#xff0c;解释为何TCP需要分段而不是让IP层进行分片。 IP层分片&#xff1a;作用和缺陷 作用&#xff1a; IP层分…

基于51单片机ESP8266wifi控制机器人—送餐、快递

基于51单片机wifi控制机器人 &#xff08;程序&#xff0b;原理图&#xff0b;PCB&#xff0b;设计报告&#xff09; ​功能介绍 具体功能&#xff1a; 1.L298N驱动电机&#xff0c;机器人行走&#xff1b; 2.装备红外线感应检测到周围环境&#xff0c;进行行程判断&#xf…

Tensorflow-相关函数

边学边查,后续不断补充完善 1、tf.placeholder() 函数形式: tf.placeholder(dtype,shape=none,name=none) dtype:数据类型,常用的是tf.foat32,tf.float64等数值类型 shape:数据形状,默认是none,就是一堆值,也可以是多维(比如[2,3],[none,3]表示列上3,行不定) …

C++ 顺序线性表的功能

顺序线性表的功能 //头文件 #pragma once#define LIST_INIT_SIZE 50 #define LIST_INCREMENT 20 #define OK 1 #define ERROR 0typedef int Status;typedef char ElemType;typedef struct list_ {ElemType* elem;int length;int listize; }SqList;// 1 初始化 函数 Status…

基于单片机的太阳能无线手机充电器的设计

摘 要:为了解决手机户外无法充电而不能正常使用的问题,设计一款基于单片机的便携式太阳能无线智能手机充电器,利用太阳能电池板将光能转换为电能,由降压稳压电路将电能存储于蓄电池中,通过无线电力传输模块将电能传输至手机终端,由降压稳压处理后给手机充电,并结合单片机…

在Ubuntu上搭建幻兽帕鲁服务器

简介 幻兽帕鲁是一款多人在线角色扮演游戏&#xff0c;玩家可以捕捉和训练各种各样的幻兽&#xff0c;并与其他玩家进行战斗和交易。如果您想拥有自己的幻兽帕鲁服务器&#xff0c;可以按照以下步骤在 Ubuntu 上进行搭建。 准备工作 在开始之前&#xff0c;您需要准备以下几…

代码随想录第52天|300.最长递增子序列 718. 最长重复子数组

300.最长递增子序列 300. 最长递增子序列 - 力扣&#xff08;LeetCode&#xff09; 代码随想录 (programmercarl.com) 动态规划之子序列问题&#xff0c;元素不连续&#xff01;| LeetCode&#xff1a;300.最长递增子序列_哔哩哔哩_bilibili 给你一个整数数组 nums &#xff0…

OPENAI中Semantic Kernel的优点和缺点

OPENAI中Semantic Kernel的优点和缺点 1. 引言 Semantic Kernel是OPENAI中的一项重要技术&#xff0c;它在自然语言处理和语义理解方面具有广泛的应用。本文将探讨Semantic Kernel的优点和缺点&#xff0c;并提出在项目中如何避免这些缺点的方法。 2. Semantic Kernel的优点…

multipass和multipassd命令的区别

multipassd通常是multipass服务的后台守护进程&#xff0c;它负责管理和控制虚拟机实例。 命令区别 例&#xff1a; multipass restart my-vm 这个命令用于重启Multipass中的虚拟机实例。例如有一个名为my-vm的虚拟机实例。 multipassd restart 这会重新启动Multipass后台…

Scroll生态项目Penpad,再获Presto Labs的投资

Penpad是Scroll生态的LaunchPad平台&#xff0c;其整计划像收益聚合器以及RWA等功能于一体的综合性Web3平台拓展&#xff0c;该平台在近期频获资本市场关注&#xff0c;并获得了多个知名投资者/投资机构的支持。 截止到本文发布前&#xff0c;Penpad已经获得了包括Scroll联合创…