2016/9/9阿里笔试编程题-字符串的查找替换
来源:互联网 发布:淘宝护盾 编辑:程序博客网 时间:2024/06/08 15:13
题目
对于输入的字符串,我们需要完成的任务是从左到右扫描字符串,如果存在由三个以上(包括三个)连续相同字符组成的子串,就将这个子串从原串中去掉,并将原串剩下的部分拼接到一起。重复上述过程,直到无法去掉任何子串
示例
inputAAABCCDDDCBAABBBABBBA
outputBBA
Code
/** * Created by bamboo on 2016/9/9. */public class RemoveTriple { public String deletePattern(String str) { String result = str.replaceFirst("(.)\\1{2,}", ""); if (result.length() == str.length()) { return result; } else { return deletePattern(result); } } public static void main(String[] args) { String a = "AABBBABBBA"; String b = "AAABCCDDDCB"; System.out.println(new RemoveTriple().deletePattern(a)); }}
附加正则
([0-9])\1{5} 或 ([\d])\1{5}
连续相同的6位数字 如:333333([0-9a-zA-Z])\1{5}
连续相同的6位数字或字母 如:222222 cccccc ZZZZZZ([\d])\1{2}([a-z])\2{2}
连续相同3位数字后根连续相同的三位小写字母 如:222www([\d])\1{2}([a-z])\2{2} | ([a-z])\3{2}([\d])\4{2}
同上,但是能匹配数字+字母或字母+数字 如:222www 或 www222- 自己可以扩展,要注意的就是 \1 \2 \3 \4代表位置(看例子),从左到右递增
0 0
- 2016/9/9阿里笔试编程题-字符串的查找替换
- [编程题]查找替换字符串
- 字符串 的查找 替换
- 阿里2017编程笔试题
- 字符串的查找与替换
- 阿里的笔试题
- [编程题] 字符串替换
- 替换字符串——华为笔试时的一道题
- 阿里2016笔试题
- 网易有道9-13北邮笔试题:输入字符串,将字符串里的*用0或1替换,输出所有可能的字符串
- 【笔试】22、替换字符串的空格
- 字符串尾序列(阿里笔试题)
- 阿里2018校招内推笔试题-字符串切分
- 将字符串划分为单词—阿里2017笔试编程题
- 笔试题:04年_字符串替换
- 编程实现字符串的替换
- 阿里2018校招笔试编程题
- 简单的查找替换字符串ui
- VS优化Release代码速度
- JSP登录
- lua中的面向对象模拟,类,继承,多态
- 算法基础
- HashMap并发异常小记
- 2016/9/9阿里笔试编程题-字符串的查找替换
- Android数据解析-----解析xml数据
- (矩阵)快速幂
- CCF 201512-2 我100分
- ucos-II中的一些基本概念①
- 函数返回数组
- Memcached--内存存储机制,LRU删除机制
- PHP DateTimeZone 时区列表
- Android入门开发之Toast、Notification、Menu