目录
问题陈述
示例示例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脱衣机

Video Face Swap

Video Face Swap

使用我们完全免费的人工智能换脸工具轻松在任何视频中换脸!

热门文章

<🎜>:泡泡胶模拟器无穷大 - 如何获取和使用皇家钥匙
4 周前 By 尊渡假赌尊渡假赌尊渡假赌
北端:融合系统,解释
1 个月前 By 尊渡假赌尊渡假赌尊渡假赌
Mandragora:巫婆树的耳语 - 如何解锁抓钩
4 周前 By 尊渡假赌尊渡假赌尊渡假赌
<🎜>掩盖:探险33-如何获得完美的色度催化剂
2 周前 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)

热门话题

Java教程
1677
14
CakePHP 教程
1430
52
Laravel 教程
1333
25
PHP教程
1278
29
C# 教程
1257
24
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、如果用户想再次添加对方为好友,需要对方同意并重新添加用户。

小红书把别人评论删了怎么找回?把别人评论删了会有显示吗? 小红书把别人评论删了怎么找回?把别人评论删了会有显示吗? Mar 21, 2024 pm 10:46 PM

小红书作为一款热门的社交电商平台,用户之间的互动评论是平台中不可或缺的交流方式。有时候,我们可能会发现自己的评论被其他人删除,这种情况可能会让我们感到困惑。一、小红书把别人评论删了怎么找回?当发现自己的评论被删除时,首先可以尝试在平台上直接搜索相关的帖子或商品,查看是否还能找到该评论。如果评论被删除后仍然显示,那么可能是被原帖主删除的,这时候可以尝试联系原帖主,询问其删除评论的原因,并请求恢复评论。如果评论已经被完全删除且无法在原帖上找到,那么在平台上恢复评论的机会相对较小。可以尝试使用其他途径

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.确认删除后,该条内容将从你的个人主页和公共页面消失

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

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

如何发布小红书内容?发布小红书内容怎么删除? 如何发布小红书内容?发布小红书内容怎么删除? Mar 21, 2024 pm 04:10 PM

随着社交媒体的不断发展,小红书已经成为了年轻人分享生活、发现潮流、获取灵感的重要平台。在这个充满活力的社区里,如何发布高质量的内容,吸引更多的关注和点赞,成为了许多用户关心的问题。一、如何发布小红书内容?在创作之前,选择一个合适的话题至关重要。你可以根据自己的兴趣和专长来挑选一个吸引人的主题。这样做不仅能让你在写作过程中保持激情,还能让读者更容易与你的作品产生共鸣。2.精心设计标题:标题是吸引读者点击的关键,应该简洁明了,同时要具有一定的吸引力和引人入胜的特点。避免使用夸张的措辞,以免读者产生反

See all articles