删除重复字符串的算法
目前有一个字符串(假设是a,b,c,a,a,b,b),要求:
1)删除重复的字符,仅保留一个(结果应该是:a,b,c)。
2)删除全部重复的字符(只要有重复,就删除,结果为:c)。
思路:
可以先用一个外循环逐个字符遍历——每次遍历一个字符的时候,判断是否还有其它相同字符(LastIndexOf):
对于1:删除其它相同的字符,直到全部删除干净。
对于2:在1的基础上,删除自身。同时因为当前元素被删除之后,后一个元素会替补上来,因此循环变量需要自减,代码如下:
/// <summary>/// 删除冗余字符串算法/// </summary>/// <param name="elements">被操作字符串</param>/// <param name="flag">是否保留一个重复字符</param>static void RemoveDuplicatedElements(List<string> elements, bool flag){for (int i = 0; i < elements.Count; i++){int endIndex = elements.LastIndexOf(elements[i]);//扫描是否有重复字符if (endIndex != i){//不断扫描,删除,直到除去自身以外全部删除了do{elements.RemoveAt(endIndex);endIndex = elements.LastIndexOf(elements[i]);} while (i != endIndex);//如果彻底删除重复字符,删除自身if (!flag){elements.RemoveAt(i);i--;}} }}
转载于:https://www.cnblogs.com/ServiceboyNew/p/3250305.html
删除重复字符串的算法相关推荐
- C语言从未排序的链接列表中删除重复项的算法(附完整源码)
C语言从未排序的链接列表中删除重复项的算法 C语言从未排序的链接列表中删除重复项的算法完整源码(定义,实现,main函数测试) C语言从未排序的链接列表中删除重复项的算法完整源码(定义,实现,main ...
- Python删除重复字符串
文章目录 1. 题目
- C语言字符串中删除重复的字符的算法(附完整源码)
C语言字符串中删除重复的字符的算法 C语言字符串中删除重复的字符的算法完整源码(定义,实现,main函数测试) C语言字符串中删除重复的字符的算法完整源码(定义,实现,main函数测试) #inclu ...
- 字符串删除重复字符_高效的字符串清理-删除内部重复空间
字符串删除重复字符 介绍 (Introduction) 我经常回答一些问题,其中的字符串需要"清除"多个空格字符. 最常见的解决方法是删除前导或尾随空格. 对于这个问题,有非常方便 ...
- 算法--------删除重复元素,但保留两个
给定一个排序数组,你需要在原地删除重复出现的元素,使得每个元素最多出现两次,返回移除后数组的新长度.不要使用额外的数组空间,你必须在原地修改输入数组并在使用 O(1) 额外空间的条件下完成.示例 1: ...
- 算法------数组---------删除重复元素
/*** 删除排序数组中的重复项给定一个排序数组,你需要在原地删除重复出现的元素,使得每个元素只出现一次,返回移除后数组的新长度.不要使用额外的数组空间,你必须在原地修改输入数组并在使用 O(1) 额 ...
- python列表删除算法_关于算法:如何从python中的列表中删除重复的条目
最近在一次采访中,我被要求编写一个python代码来从列表中删除所有重复的条目. 例如: Input List = {1,2,4,5,2,3,1} Expected Output List = {4, ...
- linux过滤重复字符串,linux – 从制表符分隔文件中删除重复的单词/字符串
我想使用Linux命令从大的制表符分隔文件中删除重复的单词/字符串. names john, cnn, mac, tommy, mac, patrick, ngc, discovery, john, ...
- 蓝桥杯 ADV-228 算法提高 11-2删除重复元素
问题描述 为库设计新函数DelPack,删除输入字符串中所有的重复元素.不连续的重复元素也要删除. 要求写成函数,函数内部使用指针操作. 样例输入 1223445667889 样例输出 13579 样 ...
最新文章
- C++内存管理变革(6):通用型垃圾回收器 - ScopeAlloc
- 操作系统杂谈 mac 和linux windows若干概念
- IDEA配置Tomcat出现404,The requested resource is not available终极超详细解决方案
- Appium进行iOS自动化测试时遇到的问题及解决办法
- CentOS下双网卡单网关路由配置
- 文本分类中的特征词选择算法系列科普(前言AND 一)
- 开发实战细节之——关于整型转换为字符串类型的性能与实现分析
- 中国第一软件开发_我第一次开发企业软件中学到的知识
- spark学习-70-源代码:Endpoint模型介绍(2)-启动流程
- Edit Control中追加文字
- 理解InnoDB数据及索引文件存储格式
- 神操作!使用命令更改MAC截图默认保存格式的方法
- (6)机器学习_支持向量机
- web自动化神器,QuickTester
- 网卡 的linux驱动精灵,下载:Intel PRO100/1000网卡驱动13.0版
- java三次样条函数求导_利用java语言对三次样条曲线的实现
- python脚本控制ios手机app_iOS自动打包ipa(Python脚本)
- OSI七层与TCP/IP五层网络架构详解
- 你不得不掌握的前端提交规范(git cz)
- 【NOIP2015模拟11.2晚】我的天