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

湖北联兴建设有限公司网站wordpress使用对象储存

湖北联兴建设有限公司网站,wordpress使用对象储存,我做的网站不能往下拉,seo短视频网页入口引流在线删除字符串中的子串或者字符以满足题意要求 1234. 替换子串得到平衡字符串680. 验证回文串917. 仅仅反转字母 1234. 替换子串得到平衡字符串 题目链接:1234. 替换子串得到平衡字符串 题目内容: 题目中给出了平衡字符串的定义——只有’Q’,…

删除字符串中的子串或者字符以满足题意要求

  • 1234. 替换子串得到平衡字符串
  • 680. 验证回文串
  • 917. 仅仅反转字母

1234. 替换子串得到平衡字符串

题目链接:1234. 替换子串得到平衡字符串
题目内容:
在这里插入图片描述
题目中给出了平衡字符串的定义——只有’Q’,‘W’,‘E’,'R’四种字符,并且每种字符的数量都是n/4。但是现在给出一个字符串s,它不一定是平衡字符串。如果不是就要通过替换其中一个子串,使其成为平衡字符串。将字符串s看作是待替换部分s1和剩下的部分s2,将s1替换成其他字符串后,能够保证新的s1插入s2后四种字符的数量都是n/4。新的s1插入s2只能增加字符的数量而不能减少字符的数量,因此s2中四种字符的数量均要≤n/4
这个题目使用滑动窗口,滑动窗口内的子串即待删除的s1。其下标用left和right表示,s1是s中[left,right)这一段子串。滑动窗口滑动的过程如下:

  • 1、先固定left,然后right向右移动,移动的同时字符s[right]的数量-1,直到四种字符数量均≤n/4——此时找到了[left,right)这一段s1,使得s中除s1外,四种字符数量均≤n/4;
  • 2、此时逐步右移left,缩小滑动窗口(即s1)的长度,以便找到最短的s1;同时字符s[left]的数量+1,并判s-s1中四种字符的数量是否均≤n/4;
  • 3、每找到一个满足条件的[left,right)滑动窗口,就需要记录窗口的长度,并记录最小值;

代码如下(C++):

class Solution {
public://判断四种字符的数量是否均≤n/4bool check(vector<int>& cnt , int num){if(cnt['Q' - 'A'] > num||cnt['E' - 'A'] > num||cnt['W' - 'A'] > num||cnt['R' - 'A'] > num)return false;return true;}int balancedString(string s) {//先统计s中四种字符的数量vector<int> cnt(26,0);for(char ch : s)cnt[ch-'A']++;		int num = s.size() / 4;//如果一开始就小于等于【实际上是等于】就直接返回0,不需要替换if(check(cnt, num))return 0;//记录最小长度int ans = s.size();//滑动窗口更新过程for(int left = 0, right = 0; left < s.size(); left++){//right右移直到滑动窗口外四种四字符均≤n/4while(right < s.size() && !check(cnt, num)){cnt[s[right] - 'A']--;right++;}//上面循环结束可能是right=s.size(),也可能是满足条件了//如果是right=s.size()了,right不能右移了,之后left右移的过程中只能使得滑动窗口外四种字符的数量增加//如果一旦有left使得有字符数量>n/4,left继续右移已经没有意义,之后的滑动窗口都不满足要求,提前跳出循环if(!check(cnt,num))break;//更新长度ans = min(ans, right - left);cnt[s[left] - 'A']++;}return ans;        }
};

680. 验证回文串

题目链接:680. 验证回文串
题目内容:
在这里插入图片描述
判断一个字符串是否是回文串的时候,使用的是双指针,一个left从下标0开始,一个right从s.size()-1开始,然后如果s[left] == s[right],left++,right–;直到left >= right,遍历完s中的字符。
现在题目是要求我们最多删除一个字符串,判断s是否是回文串。此时有三种情况:

  • 1、s本身就是回文串,能够按照上述的判断过程逐字符对比判断;
  • 2、s本身不是回文串,但是删除一个字符后能够是回文串:s不是回文串,肯定会出现s[left] !=s [right],此时要么删除s[left],然后判断s[left+1~right]是否是回文串;要么删除s[right],判断s[left~right-1]是否是回文串; 这两个只要有一个是回文串即可;【也可能两个都是回文,比如acac删除a得到cac,删除c得到aca,都是回文】
  • 3、s不是回文串,不管删除哪个字符都不能成为回文串——上述第二种情况中,如果不管删除s[left]还是s[right],剩下的都不是回文串,那么如果考虑继续遍历,删除其他字符串,但是s[left] != s[right],不管再去删除s[left+1~right-1]中的哪个字符,都不能使得s变成回文串。

代码如下(C++):

class Solution {
public://判断left~right这一段子串是否是回文串bool ispalindrome(int left, int right, string& s){while(left<right){if(s[left] != s[right])return false;left++;right--;}return true;}bool validPalindrome(string s) {int left = 0, right = s.size()-1;//前后逐字符对比while(left < right){//如果相等就left++,right--if(s[left] == s[right]){left++;right--;}//如果不相等,就去判断left~right-1和left+1~right这两段子串是否是回文串else return ispalindrome(left,right - 1,s) || ispalindrome(left+1,right,s);}return true;}
};

917. 仅仅反转字母

题目链接:917. 仅仅反转字母
题目内容:
在这里插入图片描述
题目说的是英文字母位置反转。看题目以为这个位置反转和之前的反转单词一样,只是把非英文的字符当作单词的分隔符……结果原来是和这个反转字符串类似。只是遇到非英文字母的字符直接跳过不处理。
先看看例子:
在这里插入图片描述
因此这里的位置反转,也是双指针left和right,在s[left]和s[right]都是英文字母的时候,二者交换;如果不是英文字母就跳过,不处理,代码如下(C++):

class Solution {
public://判断是否是英文字母bool check_ch(char ch){if(ch - 'a' >= 0 && ch - 'a' < 26)return true;if(ch - 'A' >= 0 && ch - 'A' < 26)return true;return false;}string reverseOnlyLetters(string s) {//双指针遍历s中每个字符for(int i = 0, j = s.size() -1 ; i < j;){//s[i]和s[j]都是英文字母的时候,交换位置if(check_ch(s[i]) && check_ch(s[j])){swap(s[i],s[j]);i++;j--;}else {//不是英文字母就跳过if(!check_ch(s[i]))i++;if(!check_ch(s[j]))j--;}}return s;}
};
http://www.yayakq.cn/news/449441/

相关文章:

  • 网站设置在哪里找彩票做网站
  • 网站建设如何选择服务器eclipse开发安卓app
  • 大庆市建设中专网站python搭建服务器
  • 设计网站做的工作步骤是网站建设公司如何选取
  • 制作一个网站数据库怎么做实训百度搜索引擎的总结
  • 公司网站制作内容广东省农业农村厅彭彬
  • 上海南京东路网站建设贵阳网站设计公司
  • 商城微网站如何做个体户怎么做购物网站
  • 办公网新闻上传网站开发建公司网站
  • joomla 2.5:你的网站建设_使用与管理 pdf免费软件怎么盈利
  • 想要弄一个网站怎么弄宜兴做网站哪个好
  • 个人网站备案icp学做网站平台
  • 保定城乡建设局网站潍坊哪个网站公司做优化好
  • 风信子 网站建设全球建筑设计公司排名
  • 中山做网站哪家好收录入口在线提交
  • 一般网站维护要多久抖音代运营服务合同模板
  • 响应式英文网站建设哪家做网站最好
  • 2017做网站还赚钱吗住房和城乡建设部网站职责
  • 计算科学与学习网站建设与实施搜索引擎营销的作用
  • 网站创造在线图片编辑器下载
  • 为什么要建设档案网站成都少儿编程培训机构
  • 千博企业网站管理系统完整版 2014会员卡充值管理系统
  • 三站一体网站公司网站建设培训龙岗
  • 奇迹建站模板游戏创业项目
  • 怎么弄网址长沙seo培训
  • 云主机怎么装网站建设银行u盾不能弹出银行网站
  • 厦门城乡建设局网站简历模板简单免费
  • 北京建站模板企业甘肃兰州海拔多少米
  • 网站建站多少钱网站推广目的
  • 家具网站开发项目计划书凡科投票