目前有一个字符串(假设是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

删除重复字符串的算法相关推荐

  1. C语言从未排序的链接列表中删除重复项的算法(附完整源码)

    C语言从未排序的链接列表中删除重复项的算法 C语言从未排序的链接列表中删除重复项的算法完整源码(定义,实现,main函数测试) C语言从未排序的链接列表中删除重复项的算法完整源码(定义,实现,main ...

  2. Python删除重复字符串

    文章目录 1. 题目

  3. C语言字符串中删除重复的字符的算法(附完整源码)

    C语言字符串中删除重复的字符的算法 C语言字符串中删除重复的字符的算法完整源码(定义,实现,main函数测试) C语言字符串中删除重复的字符的算法完整源码(定义,实现,main函数测试) #inclu ...

  4. 字符串删除重复字符_高效的字符串清理-删除内部重复空间

    字符串删除重复字符 介绍 (Introduction) 我经常回答一些问题,其中的字符串需要"清除"多个空格字符. 最常见的解决方法是删除前导或尾随空格. 对于这个问题,有非常方便 ...

  5. 算法--------删除重复元素,但保留两个

    给定一个排序数组,你需要在原地删除重复出现的元素,使得每个元素最多出现两次,返回移除后数组的新长度.不要使用额外的数组空间,你必须在原地修改输入数组并在使用 O(1) 额外空间的条件下完成.示例 1: ...

  6. 算法------数组---------删除重复元素

    /*** 删除排序数组中的重复项给定一个排序数组,你需要在原地删除重复出现的元素,使得每个元素只出现一次,返回移除后数组的新长度.不要使用额外的数组空间,你必须在原地修改输入数组并在使用 O(1) 额 ...

  7. python列表删除算法_关于算法:如何从python中的列表中删除重复的条目

    最近在一次采访中,我被要求编写一个python代码来从列表中删除所有重复的条目. 例如: Input List = {1,2,4,5,2,3,1} Expected Output List = {4, ...

  8. linux过滤重复字符串,linux – 从制表符分隔文件中删除重复的单词/字符串

    我想使用Linux命令从大的制表符分隔文件中删除重复的单词/字符串. names john, cnn, mac, tommy, mac, patrick, ngc, discovery, john, ...

  9. 蓝桥杯 ADV-228 算法提高 11-2删除重复元素

    问题描述 为库设计新函数DelPack,删除输入字符串中所有的重复元素.不连续的重复元素也要删除. 要求写成函数,函数内部使用指针操作. 样例输入 1223445667889 样例输出 13579 样 ...

最新文章

  1. C++内存管理变革(6):通用型垃圾回收器 - ScopeAlloc
  2. 操作系统杂谈 mac 和linux windows若干概念
  3. IDEA配置Tomcat出现404,The requested resource is not available终极超详细解决方案
  4. Appium进行iOS自动化测试时遇到的问题及解决办法
  5. CentOS下双网卡单网关路由配置
  6. 文本分类中的特征词选择算法系列科普(前言AND 一)
  7. 开发实战细节之——关于整型转换为字符串类型的性能与实现分析
  8. 中国第一软件开发_我第一次开发企业软件中学到的知识
  9. spark学习-70-源代码:Endpoint模型介绍(2)-启动流程
  10. Edit Control中追加文字
  11. 理解InnoDB数据及索引文件存储格式
  12. 神操作!使用命令更改MAC截图默认保存格式的方法
  13. (6)机器学习_支持向量机
  14. web自动化神器,QuickTester
  15. 网卡 的linux驱动精灵,下载:Intel PRO100/1000网卡驱动13.0版
  16. java三次样条函数求导_利用java语言对三次样条曲线的实现
  17. python脚本控制ios手机app_iOS自动打包ipa(Python脚本)
  18. OSI七层与TCP/IP五层网络架构详解
  19. 你不得不掌握的前端提交规范(git cz)
  20. 【NOIP2015模拟11.2晚】我的天

热门文章

  1. 深入理解PHP之isset和array_key_exists对比
  2. return2libc学习笔记
  3. 23个MySQL常用查询语句
  4. BZOJ 3211 弗洛拉前往国家 树阵+并检查集合
  5. 七年磨一剑:Apache HBase 1.0正式发布
  6. JBPM6教程-10分钟玩转JBPM工作台
  7. 嵌入式移植NTP(Network Time Protocol)
  8. 批处理中的****1nul 2nul
  9. 08年度世界最佳照片(三)
  10. poj 2109 Power of Cryptography