将一个字符串转换为其具有abcd..z作为子序列的形式

将一个字符串转换为其具有abcd..z作为子序列的形式

字符串转换(也称为字符串转换)是 C++ 中的一种操作,在整个过程执行后,将结果存储在输出数组中。在C++中,有一个名为“transform()”的函数,存在于C++环境的目录中,通过它我们可以将字符串转换为新的字符串。

有两种形式的转换函数−

一元运算

操作应用于输入数组的每个元素。

手术完成后,结果将存储在一个输出数组中。

二元操作

操作适用于特定数组的每个元素。

第一个输入元素和第二个相应的输入元素参与了操作。

输出数据将存储在一个输出数组中。

子序列字符串是由对输入字符串执行各种操作(例如:删除)生成的全新字符串。对于子序列字符串,操作发生时不会影响剩余的字符。

对于字符串转换,输入包含长度为n+1的操作字符串。原始字符属于a到z的系列。打印字符串的长度在这里被视为n,这里是一个输出字符串。

在本文中,我们将学习如何在C++环境中转换一个字符串,使其具有abcd….z作为一个子序列。

递归算法生成后续字符串

通过使用递归方法,下面是一个可能的算法用于一个后续字符串。这是特定的字符串,T是完成操作所需的时间。

步骤 1 – 计算出现次数。

步骤2 – 如果i = length(s)且j = length(T)。

第三步−然后返回1。

第4步 – 结束。

步骤5 – 如果i = length(S)。

步骤6 – 然后返回0。

第7步 – 结束。

步骤 8 − 计数

步骤9 – 如果,j<length and si="Tj。

步骤10 − Count

第11步 – 结束。

第12步 – Count

第13步 – 返回计数。

第14步 – 结束。

后续数组的语法

Here, we have two given sequences. X and Y.Initialize a table with a dimension of X.length * Y.lengthX.label1 = XY.label2 = YCS1[0][] = 0CS2[][0] = 0Start from CS[1][1]Compare X[i] and Y[j]   If      X[i] = Y[j]      CS[i][j] = 1 + CS[i-1, j-1]      Point an arrow to CS[i][j]   Else      CS[i][j] = max(CS[i-1][j], CS[i][j-1])      Point an arrow to max(CS[i-1][j], CS[i][j-1])

登录后复制

这里我们创建了一个后续数组的基本工作语法。当有两个序列时,我们必须按照以下步骤来获取输出。

跟随的方法

方法1−使用C++转换字符串

通过使用C++对字符串进行一元操作的方法2

使用C++对字符串进行二进制操作的方法3

使用C++打印所有可能的后续字符串

使用C++将字符串转换为具有abcd….z作为子序列的方法5

使用 C++ 转换字符串

在这段C++代码中,我们创建了一个新的字符串,并从输入字符串中删除了所有的元音字母。在这些元音字母的位置上添加了#。

示例 1

#include using namespace std;string change_case(string r) {   int l = r.length();   for(int i = 0 ; i = 'a' && r[i] = 'A' && r[i] = 'a' && a[i] = 'A' && a[i] 

输出

#r#D#R#d#V#d#S!!-1

登录后复制

使用C++对字符串进行一元操作

在这段特定的代码中,我们展示了如何对输入数组进行一元操作。该函数接受一个指向单个输入的起始和结束位置的指针。并在输出数组的起始位置进行操作。

Example 2

的中文翻译为:

示例2

#include #include using namespace std;int op_increment (int x) {   x = x + 1;   return x;}int main () {   int n = 5;   int input_array[] = {7, 16, 10, 97, 2001};   int output_array[n];   std::cout 

输出

Input array present here: 7 16 10 97 2001The output array now contains with: 8 17 11 98 2002

登录后复制

使用C++对字符串进行二进制操作

在这段特定的代码中,我们展示了如何在输入数组上进行二进制操作。函数transform()在起始点和第一个输入数组之间添加了一个指针。请记住,二进制操作总是在两个输入数据集上进行。

Example 3

的中文翻译为:

示例 3

#include #include #include using namespace std;int op_add (int i, int j) {   return i+j;}int main () {   int n = 5;   int arr1[] = {7, 16, 10, 2001, 1997};   int arr2[] = {1, 2, 3, 4, 5};   int output[n];   std::cout 

输出

Input data in array1: 7 16 10 2001 1997Input data in array2: 1 2 3 4 5Output array is here now: 8 18 13 2005 2002

登录后复制

使用C++打印所有后续字符串

应用选择和不选择的概念来找出特定数组的所有子序列。在这个过程中,可能会删除一些字符而不改变元素的顺序。在这里,这个过程的时间复杂度是O(2^n),空间复杂度是O(n)。

示例 4

#include using namespace std;void printSubsequence(string input, string output) {   if (input.empty()) {      cout 

输出

rudraabonikoaarudraabonikoarudraabonikoarudraabonikorudraabonikaarudraabonikarudraabonikarudraabonikrudraabonioaarudraabonioarudraabonioarudraaboniorudraaboniaarudraaboniarudraabonia

登录后复制

将字符串转换为其具有abcd…z作为子序列

这是一种特定的过程,用于将字符串转换为具有abcd...z作为子序列的形式。

初始化字符。

如果长度小于26,则返回false。

迭代循环从0到s.size() - 1。

如果字符达到z,则跳出循环。

如果当前字符小于s或等于字符。

将当前字符的增量替换为1。

如果字符小于或等于 z,则返回 false。

否则,返回true。

在这个过程中,时间复杂度为O(n),辅助空间为O(1)。这里,n是特定字符串的长度。

Example 5

的中文翻译为:

示例5

#include using namespace std;bool transformString(string& s) {   char ch = 'a';   if (s.size()  int('z'))      break;      if (s[i] 

输出

abcdefghijklmnopqrstuvwxyza

登录后复制

结论

在本文中,我们学习了使用C++环境进行字符串转换及其不同形式。通过遵循特定的算法和语法,我们检查和构建了一些不同的C++代码,并了解了如何转换字符串,使其具有abcd...z作为子序列。

以上就是将一个字符串转换为其具有abcd..z作为子序列的形式的详细内容,更多请关注【创想鸟】其它相关文章!

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至253000106@qq.com举报,一经查实,本站将立刻删除。

发布者:PHP中文网,转转请注明出处:https://www.chuangxiangniao.com/p/2584400.html

(0)
上一篇 2025年3月6日 14:48:34
下一篇 2025年3月6日 14:48:39

AD推荐 黄金广告位招租... 更多推荐

相关推荐

发表回复

登录后才能评论