目录
问题陈述
示例示例1
Explanation
解释
示例 3
方法
算法
示例:C++ 程序
输出
结论
首页 后端开发 C++ 通过删除重复出现的字符来解码给定的字符串

通过删除重复出现的字符来解码给定的字符串

Aug 25, 2023 pm 09:29 PM
删除 解码 重复字符

通过删除重复出现的字符来解码给定的字符串

本文的目的是通过删除重复出现的字符来实现解码给定字符串的程序。

正如您知道什么是字符串一样,字符串只不过是字符的集合。此外,字符串中字符的重复次数没有限制。一个字符串中相同的字符可以出现多次。在本文中,我们将找到一种通过删除重复出现来解码给定编码字符串 str 的方法。

目标是解码提供的字符串str,该字符串已经使用'a'出现一次,'b'出现两次,'c'出现三次,'d'出现四次,一直到'z'出现26次进行编码。

问题陈述

通过删除重复的出现来实现对给定字符串进行解码的程序。

注意 − 不要忽略信件中可能包含的空格。

示例示例1

Let us take the input string str = “abbbb accc”
登录后复制
The output obtained is: abb ac
登录后复制

Explanation

的翻译为:

解释

每个字母都是根据它在英文字母表中出现的次数来书写的。结果字符串为"abb acc",因为这里字母b重复了四次。字母a重复了两次,最后字母c重复了三次。

同样在这种情况下,空格也不会被忽略。

示例 2

Let us take the input string str = “ddddadddd”
登录后复制
The output obtained is: dad
登录后复制

Explanation

的翻译为:

解释

每个字母都是根据它在英文字母表中出现的次数来书写的。结果字符串是“dad”,因为这里字母d重复了八次,最后字母a只出现了一次。

在这种情况下,字符之间没有空格。

示例 3

Let us take the input string str = “abbccc”
登录后复制
The output obtained is: abc
登录后复制

Explanation

的翻译为:

解释

每个字母的书写都会考虑到它在英语字母表中出现的次数。结果字符串是“abc”,因为这里字母 a 只出现了一次。字母 b 重复了两次,最后字母 c 重复了 3 次。

在这种情况下,字符之间没有空格。

方法

为了通过删除重复出现的字符来解码给定的字符串,我们在本文中采用以下方法。

解决此问题并通过删除重复出现来解码给定字符串的方法基于迭代字符串。

也就是说,可以通过迭代字符串 str 并将每个字符推入输出字符串,然后向前移动该位置以查找下一个字符来解决上述问题。

算法

下面给出了打印给定字符串中出现的驼峰式字符数量的算法

为了解决这个问题,请遵循下面列出的指示 -

  • 第一步 − 开始

  • 第 2 步 - 定义字符串

  • 第 3 步 - 创建一个名为 result 的变量,其初始值为空字符串来存储输出字符串。

  • 第 4 步 - 创建函数 findOccurences(char a1) 并执行后续操作 -

  • 步骤 5 - 如果 a1 的值落在 a 和 z 之间,则将 a1 的值返回为“a”。 如果 a1 的值范围不是 A 到 Z,则将 a1 的值返回为“Z”。 如果不是,则返回0。

  • 第6步 - 定义函数decodeTheString(string s)来解码字符串s

  • 第7步 - 在完成上述阶段后,将字符串结果打印为最终字符串。

  • 第8步 − 停止

示例:C++ 程序

这是C++程序实现上述编写的算法,通过删除重复出现的字符来解码给定的字符串

// C++ program for our above algorithm
#include <bits/stdc++.h>
using namespace std;

// Function to count the number of  occurences of each character
int findOccurences(char a1){

   // If the character is a lower case , that is [a-z]
   if (a1 <= 'z' && a1 >= 'a') {
      return a1 - 'a';
   }
   
   // If the character is an uppercase, that is [A-Z]
   else if (a1 <= 'Z' && a1 >= 'A') {
      return a1 - 'A';
   }
   
   // If the character is something else  like a punctuation mark then
   return 0;
}

// Function used for decoding the given string str
void decodeTheString(string s){
   string result = "";
   
   // Iterate through the provided string str
   for (int i = 0; i < s.length(); i++) {
      result.push_back(s[i]);
      
      // Find the index i of the next characterto be printed
      i += findOccurences(s[i]);
   }
   cout << "The decoded string: " << result << endl;
}
int main(){
   string s = "aaabbbb";
   cout << "Input string: "<< s << endl;
   decodeTheString(s);
   return 0;
}
登录后复制

输出

Input string: aaabbbb
The decoded string: aaabb
登录后复制

结论

同样,我们可以通过删除重复出现的任何给定字符串来解码它。

本文解决了通过删除重复出现的任何给定字符串来解码该字符串的挑战。这里提供了 C++ 编程代码以及通过删除重复出现的任何给定字符串来解码该字符串的算法。

以上是通过删除重复出现的字符来解码给定的字符串的详细内容。更多信息请关注PHP中文网其他相关文章!

本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn

热AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover

AI Clothes Remover

用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool

Undress AI Tool

免费脱衣服图片

Clothoff.io

Clothoff.io

AI脱衣机

AI Hentai Generator

AI Hentai Generator

免费生成ai无尽的。

热门文章

R.E.P.O.能量晶体解释及其做什么(黄色晶体)
4 周前 By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.最佳图形设置
4 周前 By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.如果您听不到任何人,如何修复音频
4 周前 By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.聊天命令以及如何使用它们
4 周前 By 尊渡假赌尊渡假赌尊渡假赌

热工具

记事本++7.3.1

记事本++7.3.1

好用且免费的代码编辑器

SublimeText3汉化版

SublimeText3汉化版

中文版,非常好用

禅工作室 13.0.1

禅工作室 13.0.1

功能强大的PHP集成开发环境

Dreamweaver CS6

Dreamweaver CS6

视觉化网页开发工具

SublimeText3 Mac版

SublimeText3 Mac版

神级代码编辑软件(SublimeText3)

inetpub文件夹可以删除吗?快速删除C盘inetpub文件夹的方法 inetpub文件夹可以删除吗?快速删除C盘inetpub文件夹的方法 Mar 13, 2024 pm 02:00 PM

  电脑C盘发现有个inetpub文件夹占用极大的内存,这个inetpub是什么文件夹?可以直接删除吗?其实inetpub是IIS服务端的一个文件夹,IIS全称InternetInformationServices,也就互联网信息服务,是可以搭建网站、调试网站用的,如果不需要的话,可以将其卸载掉。  具体方法如下:  1、右键点击开始菜单,选择“程序和功能”。  2、打开后点击“启用或关闭Windows功能”。  3、在Windows功能列表中,取消勾选II

小红书笔记怎么删除 小红书笔记怎么删除 Mar 21, 2024 pm 08:12 PM

小红书笔记怎么删除?在小红书APP中是可以编辑笔记的,多数的用户不知道小红书笔记如何的删除,接下来就是小编为用户带来的小红书笔记删除方法图文教程,感兴趣的用户快来一起看看吧!小红书使用教程小红书笔记怎么删除1、首先打开小红书APP进入到主页面,选择右下角【我】进入到专区;2、之后在我的专区,点击下图所示的笔记页面,选择要删除的笔记;3、进入到笔记页面,右上角【三个点】;4、最后下方会展开功能栏,点击【删除】即可完成。

微信拉黑再删除永久加不上是真的吗 微信拉黑再删除永久加不上是真的吗 Apr 08, 2024 am 11:41 AM

1、首先,拉黑再删除永久加不上是假的,拉黑删除后想要再加对方,只要对方同意即可。2、如果用户将某人拉黑,对方将无法向用户发送消息、查看用户的朋友圈以及与用户进行通话。3、拉黑并不意味着将对方从用户的微信联系人列表中删除。4、如果用户在拉黑后又将对方从用户的微信联系人列表中删除,那么在删除后是没有办法恢复的。5、如果用户想再次添加对方为好友,需要对方同意并重新添加用户。

found.000是什么文件夹?found.000文件夹可以删除吗? found.000是什么文件夹?found.000文件夹可以删除吗? Mar 13, 2024 pm 08:52 PM

  日常使用电脑的过程中,可能会收到found.000文件丢失损坏的错误提示,这个found.000是什么文件夹?如果没有用的话,可以将其删除吗?既然有这么多人不认识这个文件,下面小编就来跟大家仔细说说found.000文件夹吧~  一、found.000是什么文件夹  当电脑出现因非法关机导致的文件部分或全部丢失时,可以在位于系统分区中指定目录下找到名为“found.000”的特殊文件夹及其内部包含的以“.chk”为扩展名的文件。  这个“fo

小红书发布怎么删除?发布删除怎么恢复? 小红书发布怎么删除?发布删除怎么恢复? Mar 21, 2024 pm 05:10 PM

小红书作为一家流行的社交电商平台,吸引了大量用户分享生活点滴和购物心得。有时候我们可能会不经意发布一些不合适的内容,这时候需要及时删除,这样可以更好地维护个人形象或者遵守平台规定。一、小红书发布怎么删除?1.登录小红书账号,进入个人主页。2.在个人主页下方,找到“我的创作”选项,点击进入。3.在“我的创作”页面,你可以看到所有发布的内容,包括笔记、视频等。4.找到需要删除的内容,点击右侧的“...”按钮。5.在弹出的菜单中,选择“删除”选项。6.确认删除后,该条内容将从你的个人主页和公共页面消失

hiberfil.sys是什么文件?hiberfil.sys可以删除吗? hiberfil.sys是什么文件?hiberfil.sys可以删除吗? Mar 15, 2024 am 09:49 AM

  最近有很多网友问小编,hiberfil.sys是什么文件?hiberfil.sys占用了大量的C盘空间可以删除吗?小编可以告诉大家hiberfil.sys文件是可以删除的。下面就来看看详细的内容。hiberfil.sys是Windows系统中的一个隐藏文件,也是系统休眠文件。通常存储在C盘根目录下,其大小与系统安装内存大小相当。这个文件在计算机休眠时被使用,其中包含了当前系统的内存数据,以便在恢复时快速恢复到之前的状态。由于其大小与内存容量相等,因此它可能会占用较大的硬盘空间。  hiber

微信文件传输助手怎么彻底删除_微信文件传输助手关闭方法介绍 微信文件传输助手怎么彻底删除_微信文件传输助手关闭方法介绍 Mar 20, 2024 pm 08:31 PM

微信的文件传输助手是每个用户都有的,一些用户将它当做成了备忘录,会记录一些东西。那么微信文件传输助手怎么彻底删除呢?下面就让小编为大家详细介绍一下吧。微信文件传输助手怎么彻底删除答案:【微信】-【长按文件传输助手】-【删除该聊天】。具体步骤:1、首先打开微信软件,进入到首页中后我们找到【文件传输助手】长按;2、然后会弹出标为未读、置顶该聊天、不显示该聊天、删除该聊天,在这里我们点击【删除该聊天】即可;

抖音聊天记录怎么彻底消除干净 抖音聊天记录怎么彻底消除干净 May 07, 2024 am 11:14 AM

1、打开抖音app,点击界面底部的【消息】,点击需要删除的聊天对话入口。2、长按任意一条聊天记录,点击【多选】,勾选想要删除的聊天记录。3、点击右下角的【删除】按钮,在弹出的窗口中选择【确认删除】即可将这些记录永久删除。

See all articles