求字符串中由连续的相同字符组成的最长子串(如果有两个及两个以上的最长子串,则输出第二个)
来源:互联网 发布:台湾ptt大陆网络用语 编辑:程序博客网 时间:2024/04/28 20:39
public class MaxChildStr {public static void main(String[] args) {process(new String("zzzzxxxxffffr"));process(new String("zzzzxxxxxfffffrrrrr"));process(new String("zzzzxxxxxfffffrrrrrttttttttt"));process(new String("zzzzxxxxxfffrrr"));process(new String("zzzzxxxffffr"));process(new String("zzzzxxxxxfffrrrrr"));process(new String("rfsdrrddff"));process(new String("rfsd"));process(new String("rdr"));process(new String("rd"));process(new String("r"));process(new String(""));}static void process(String s) {if(s.length() == 0) {System.out.println("空串!");return;}int len=1, index=0;int maxLen=1, maxIndex=0;int count = 1;for(int i=1; i<s.length(); i++) {if(s.charAt(i) != s.charAt(i-1)) {if(len >= maxLen) {if(len == maxLen) {count ++;if(count == 2) {if(len == 1)maxIndex = i;else maxIndex = index;} } else {maxLen = len;maxIndex = index;count = 1;}} len = 1;index = i;} else {len ++;}}if(len >= maxLen) {if(len == maxLen) {count ++;if(count == 2) {maxLen = len;maxIndex = index;} } else {maxLen = len;maxIndex = index;}} System.out.println("最长子串的第一个索引为: " + maxIndex + ", 长度为: " + maxLen);}}
结果:
最长子串的第一个索引为: 4, 长度为: 4最长子串的第一个索引为: 9, 长度为: 5最长子串的第一个索引为: 19, 长度为: 9最长子串的第一个索引为: 4, 长度为: 5最长子串的第一个索引为: 7, 长度为: 4最长子串的第一个索引为: 12, 长度为: 5最长子串的第一个索引为: 6, 长度为: 2最长子串的第一个索引为: 1, 长度为: 1最长子串的第一个索引为: 1, 长度为: 1最长子串的第一个索引为: 1, 长度为: 1最长子串的第一个索引为: 0, 长度为: 1空串!
0 0
- 求字符串中由连续的相同字符组成的最长子串(如果有两个及两个以上的最长子串,则输出第二个)
- 求两个字符串的最长的连续公共子串
- 求两个字符串的最长的连续公共子串
- 求两个字符串的最长的连续公共子串
- 求两个字符串的最长的连续公共子串
- 求两个字符串的最长连续公共子串
- 求两个字符串中最长连续子字符串的长度
- 求两个字符串的最长公共子串(包括连续和非连续)
- 求两个字符串的最长的连续公共子串和求两个字符串的公共子序列
- 多个字符串的公共最长连续子串(对两个字符串的扩展)
- 求两个字符串的最长的连续公共子串(按位异或法)
- 求两个字符串的(连续的)最长公共子串
- 字符串操作:两个字符串的最长连续公共子串
- 两个字符串的最长连续公共子串
- 匹配两个字符串中,相同且最长的子字符串
- 在字符串中找到全部是由指定的字符组成的最长子串
- 求两个字符串的最长公共子串的长度
- 求两个字符串的最长公共子串的长度
- Lucas-Kanade algorithm
- 无向图的邻接表描述和遍历
- 高血压
- HashTable的拉链法的数组实现
- Shell if语句用法小结
- 求字符串中由连续的相同字符组成的最长子串(如果有两个及两个以上的最长子串,则输出第二个)
- Linux 应用程序超过10秒未调度
- Reverse Linked List
- 第一篇博客
- 第14周 【项目1 - 小玩文件】(4)
- 从DirectX SDK升级到Windows SDK
- mysql安装for linux(二进制)
- html5 实现画虚线
- IOS代码实现常用控件UIButton、UISlider、UISwitch、UISegmentedControl