首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

替换得到平衡字符(滑动窗口)

题目 有一个只含有 ‘Q’, ‘W’, ‘E’, ‘R’ 四种字符,且长度为 n 的字符。 假如在该字符中,这四个字符都恰好出现 n/4 次,那么它就是一个「平衡字符」。...给你一个这样的字符 s,请通过「替换一个」的方式,使原字符 s 变成一个「平衡字符」。 你可以用和「待替换」长度相同的 任何 其他字符来完成替换。 请返回待替换的最小可能长度。...如果原字符自身就是一个平衡字符,则返回 0。 示例 1: 输入:s = "QWER" 输出:0 解释:s 已经是平衡的了。...示例 3: 输入:s = "QQQW" 输出:2 解释:我们可以把前面的 "QQ" 替换成 "ER"。...示例 4: 输入:s = "QQQQ" 输出:3 解释:我们可以替换后 3 个 'Q',使 s = "QWER"。

72420
您找到你想要的搜索结果了吗?
是的
没有找到

linux sed 批量替换字符

Linux下批量替换多个文件中的字符的简单方法。用sed命令可以批量替换多个文件中的字符。...命令如下: sed -i "s/原字符/新字符/g" `grep 原字符 -rl 所在目录` 例如:我要把 charset=gb2312 替换为 charset=UTF-8,执行命令: sed -...$ sed 's/^192.168.0.1/&localhost/'example &符号表示替换换字符中被找到的部份。...$ sed '/test/,/check/s/$/sed test/' example 对于模板test和west之间的行,每行的末尾用字符sed test替换。...如例子所示,第一条命令删除1至5行,第二条命令用check替换test。命令的执行顺序对结果有影响。如果两个命令都是替换命令,那么第一个替换命令将影响第二个替换命令的结果。

5.3K30

DS应用--替换

题目描述 给出主、模式替换,用KMP算法找出模式在主的位置,然后用替换的字符替换掉模式 本题只考虑一处替换的情况,如果你想做的完美一些,能够实现多处替换那 可能需要考虑模式替换长度不一致的情况...输入 第一个输入t,表示有t个实例 第二行输入第1个实例的主,第三行输入第1个实例的模式,第四行输入第1个实例的替换 以此类推 输出 第一行输出第1个实例的主 第二行输出第1个实例的主替换后结果...,如果没有发生替换就输出主原来的内容。...我课上学的是下标从1开始的,next【0】存的是的长度,下一个next值需要根据前一个next值来确定,首先判断当前字符的前面所组成的字符的前后缀(前一个字符和第一个字符)是否是相同的字符,如果相同...利用KMP返回的的位置,使用replace函数,完事。

15830

Linux使用sed命令替换字符教程

替换字符,我们需要使用以下格式。 $ sed s/替换的目标字符/替换后的字符/ 文件名 在下面我们替换写为“appleorangemelon”的字符“sample.txt”。...$ sed s/orange/ORANGE/ sample.txt 执行结果为 appleORANGEmelon 替换并输出字符。...$ cat sample.txt | sed s/apple/APPLE/ 注意,sed命令仅替换字符并输出它,但不会重写实际文件的内容 如果要将替换的内容保存在文本中,请使用重定向“>”。...sed命令使用的选项 命令选项 说明 -e 替换为指定的脚本 -f 文件 添加指定文件中描述的脚本文件的内容 -r 使用扩展正则表达式 sed命令的使用 替换所有行 在先前介绍的格式中,即使在一个行中存在与多个替换对象字符匹配的字符...,也仅替换第一个匹配的字符

24.7K52

回文

本文链接:https://blog.csdn.net/weixin_42449444/article/details/102071563 题目描述: 给定一个字符,你的任务是计算这个字符中有多少个回文...("回文”是一个正读和反读都一样的字符,比如“level”或者“noon”等等就是回文。) 具有不同开始位置或结束位置的,即使是由相同的字符组成,也会被计为是不同的。...可用C++,Java,C#实现相关代码逻辑 输入描述: 输入一个字符S 例如“aabcb”(1 <= |S| <= 50), |S|表示字符S的长度。...输出描述: 符合条件的字符有"a","a","aa","b","c","b","bcb" 所以答案:7。 输入样例: aabcb 输出样例: 7 解题思路: 快手校招题。...cout.tie(0); string str; getline(cin,str); int len = str.length(); int cnt = 0; //回文的个数

39510

Linux中使用sed命令替换字符小结 原

Linux中使用sed命令替换字符小结 最近写了几个小脚本用到了sed命令,学了一下,顺便记下 sed替换的基本语法为: 复制代码 代码如下: sed 's/原字符/替换字符/' 单引号里面...原字符?替换字符?'...//自定义分隔符为问号 可以在末尾加g替换每一个匹配的关键字,否则只替换每行的第一个,例如: 复制代码 代码如下: sed 's/原字符/替换字符/' //替换所有匹配关键字 上箭头”^.../替换第2行 sed '$s/原字符/替换字符/g' //替换最后一行 sed '2,5s/原字符/替换字符/g' //替换2到5行 sed '2,$s/原字符/替换字符/g' //替换...处理过的输出是直接输出到屏幕上的,要保存可以将输出重定向,或者使用参数”i”直接在文件中替换: 复制代码 代码如下: sed -i 's/原字符/替换字符/g' filename //替换文件中的所有匹配项

3.3K10

字符中查找_cstring查找字符

查询 首先,我们来定义两个概念,主和模式。我们在字符 A 中查找字符 B,则 A 就是主,B 就是模式。我们把主的长度记为 n,模式长度记为 m。...由于是在主中查找模式,因此,主的长度肯定比模式长,n>m。因此,字符匹配算法的时间复杂度就是 n 和 m 的函数。...假设要从主 s = “goodgoogle” 中找到 t = “google” 。...假设有且仅有 1 个最大公共。比如,输入 a = “13452439”, b = “123456”。由于字符 “345” 同时在 a 和 b 中出现,且是同时出现在 a 和 b 中的最长子。...首先,你需要对于字符 a 和 b 找到第一个共同出现的字符,这跟前面讲到的匹配算法在主中查找第一个模式字符一样。

3K30

字符替换空格

题目:剑指Offer 05.替换空格 请实现一个函数,把字符 s 中的每个空格替换成"%20"。 示例 1: 输入:s = "We are happy."...首先扩充数组到每个空格替换成"%20"之后的大小。 然后从后向前替换空格,也就是双指针法,过程如下: i指向新长度的末尾,j指向旧长度的末尾。 ?...拓展 这里也给大家拓展一下字符和数组有什么差别, 字符是若干字符组成的有限序列,也可以理解为是一个字符数组,但是很多语言对字符做了特殊的规定,接下来我来说一说C/C++中的字符。...在C语言中,把一个字符存入一个数组时,也把结束符 '\0'存入数组,并以此作为该字符是否结束的标志。...其实在基本操作上没有区别,但是 string提供更多的字符处理的相关接口,例如string 重载了+,而vector却没有。 所以想处理字符,我们还是会定义一个string类型。

4.5K30

Linux】进程替换

此时的进程的替换并没有创建新的进程,只不过是直接用老的进程的页表来指向后来调用的代码和数据。 站在被替换的代码和数据角度来看:本质就是这个程序被加载到内存了。 怎么加载?...所以exec类似于一种Linux上的加载进程。...3、多进程的代码 创建进程,目的是让进程完成任务,之前我们创建的都只能是再父进程的基础上,但是今天我们学习的调用的函数,能够让我们的进程执行一个和父进程毫不相关的全新程序。...程序替换带来的意义! 其中数据的写时拷贝是之前的在同一个进程的运行时候会发生的事情。但是呢,像现在这个样子的时候,我们的进程执行的代码和原来已经相差很大了,那么现在该怎么进行呢?...因为我们调用execl的时候就会让代码被重新改写,这样的话为了保证父进程和进程的相互的独立性,代码也就需要写时拷贝。

6510

linux vi 替换

M 问题描述:对于换行,window下用回车换行(0A0D)来表示,linux下是回车(0A)来表示。.../^M$//g 如果上述方法无用,则正确的解决办法是: tr -d “\r” dest tr -d “\015″ dest strings A>B 其它用法 利用 :s 命令可以实现字符替换...具体的用法包括: :s/str1/str2/ 用字符 str2 替换行中首次出现的字符 str1 :s/str1/str2/g 用字符 str2 替换行中所有出现的字符 str1 :.,$ s/...str1/str2/g 用字符 str2 替换正文当前行到末尾所有出现的字符 str1 :1,$ s/str1/str2/g 用字符 str2 替换正文中所有出现的字符 str1 :g/str1.../s//str2/g 功能同上 从上述替换命令可以看到:g 放在命令末尾,表示对搜索字符的每次出现进行替换;不加 g,表示只对搜索字符的首次出现进行替换;g 放在命令开头,表示对正文中所有包含搜索字符的行进行替换操作

8.3K20
领券