一、题目
  输入一个字符串,输出该字符串中对称的子字符串的最大长度。比如输入字符串“google”,由于该字符串里最长的对称子字符串是“goog”,因此输出 4。
二、思路

  遍历原字符串的所有子串,然后判断每个子串是否对称;该方法的时间复杂度:O(n3);

三、代码

方法一的代码:

package redbook;import java.util.ArrayList;
import java.util.Scanner;/*** 我们让一个指针i从头至尾遍历,我们用另一个指针j从j=i+1逐一指向i后面的所有字符。就实现了原串的所有子串的遍历(子串为指针i到j中间的部分),最后判断得到的子串是否对称即可。*/
public class Main4 {public static void main(String[] args) {Scanner in = new Scanner(System.in);//存储所有子串ArrayList<String> arrayList = new ArrayList<>();while (in.hasNext()) {//输入字符串String str = in.nextLine();//获取所有的子串StringBuffer sb = new StringBuffer();sb.append(str);for (int j = 0; j < sb.length(); j++) {for (int i = j; i < sb.length() + 1; i++) {arrayList.add(sb.substring(j, i));}}//判断子串是否对称,如果对称获取其长度,然后返回最大的长度int theMaxLength=theMaxLength(arrayList);System.out.println(theMaxLength);}}public static int theMaxLength(ArrayList<String> arrayList) {int maxLength = 0;StringBuffer sb2 = new StringBuffer();for (int i = 0; i < arrayList.size(); i++) {String strTemp1 = arrayList.get(i);System.out.println(strTemp1);//字符串逆序String strTemp2 = sb2.append(strTemp1).reverse().toString();//将 sb2对象重新附值sb2=new StringBuffer();//获取对称子字符串的最大长度if(strTemp1.equals(strTemp2) && strTemp1.length()>maxLength){maxLength=strTemp1.length();}}return maxLength;}
}

View Code

---------------------------------------------

参考链接:

http://www.cnblogs.com/mickole/articles/3578298.html

某书2018面试题之最长对称子串相关推荐

  1. 最长字符子串c语言,c语言:最长对称子串(3种解决方案)

    问题描述: 输入一个字符串,输出该字符串中最大对称子串的长度.例如输入字符串:"avvbeeb",该字符串中最长的子字符串是"beeb",长度为4,因而输出为4 ...

  2. pat 团体赛练习题集 L2-008. 最长对称子串

    对给定的字符串,本题要求你输出最长对称子串的长度.例如,给定"Is PAT&TAP symmetric?",最长对称子串为"s PAT&TAP s&quo ...

  3. 7-46 最长对称子串 (25 分)

    7-46 最长对称子串 (25 分) 对给定的字符串,本题要求你输出最长对称子串的长度.例如,给定Is PAT&TAP symmetric?,最长对称子串为s PAT&TAP s,于是 ...

  4. 7-250 最长对称子串 (25 分)

    7-250 最长对称子串 (25 分) 对给定的字符串,本题要求你输出最长对称子串的长度.例如,给定Is PAT&TAP symmetric?,最长对称子串为s PAT&TAP s,于 ...

  5. c语言:最长对称子串(3种解决方案)

    c语言:最长对称子串(3种解决方案) 参考文章: (1)c语言:最长对称子串(3种解决方案) (2)https://www.cnblogs.com/McQueen1987/p/3559497.html ...

  6. L2-008. 最长对称子串-PAT团体程序设计天梯赛GPLT

    对给定的字符串,本题要求你输出最长对称子串的长度.例如,给定"Is PAT&TAP symmetric?",最长对称子串为"s PAT&TAP s&quo ...

  7. 【CCCC】L2-008 最长对称子串 (25分),直接枚举遍历

    problem L2-008 最长对称子串 (25分) 对给定的字符串,本题要求你输出最长对称子串的长度.例如,给定Is PAT&TAP symmetric?,最长对称子串为s PAT& ...

  8. L2-008. 最长对称子串

    L2-008. 最长对称子串 对给定的字符串,本题要求你输出最长对称子串的长度.例如,给定"Is PAT&TAP symmetric?",最长对称子串为"s PA ...

  9. 最长对称子串 作者 陈越单位 浙江大学

    对给定的字符串,本题要求你输出最长对称子串的长度.例如,给定Is PAT&TAP symmetric?,最长对称子串为s PAT&TAP s,于是你应该输出11. 输入格式: 输入在一 ...

最新文章

  1. .NET Core微服务之基于MassTransit实现数据最终一致性(Part 1)
  2. MVC项目下 Telerik Upload 的使用方法
  3. socket-accept
  4. 矩阵用jordan解决initial-value问题_矩阵与数值计算(6)——矩阵幂级数 sin A、cos A...
  5. linux批量umount脚本,Linux下批量ping某个网段ip的脚本
  6. ceph rbdmap遇到的一个问题
  7. 计算机专业英语公开课教案,8个维度,教你如何上好一节英语公开课
  8. HihoCoder - 1591 锦标赛(最大费用最大流)
  9. matlab系统的初始条件,指定总线信号的初始条件
  10. 13 MM配置-主数据-定义物料状态
  11. mysql repos_mysql yum源安装
  12. Windows 下搭建 Ruby 开发环境
  13. python在电脑下载-Windows下下载及安装numpy、pandas及简单应用
  14. TIA protal与SCL从入门到精通(1)——SCL编程入门
  15. 2021年4月自考04741计算机网络原理试卷
  16. 【翻译】【词典】【词库】(PC版)离线词典GoldenDict+离线词库--地表最强 (by shany shang)
  17. 笔记本如何解除锁定计算机,笔记本键盘锁住了怎么解锁 有三种方法可以解决...
  18. SQL Server的Descending Indexes降序索引
  19. Python实现线性回归拟合并绘图
  20. 3、以太坊智能合约开发(语法开发学习)

热门文章

  1. THINKPHP_关联模型_HAS_ONE/HAS/MANY/BELONGS_TO
  2. 如何手动生成Dump文件并分析Dump文件
  3. Sentinel v1.4.2 发布,更好用的集群限流功能
  4. 001PHP文件处理——文件处理disk_total_space disk_free_space basename dirname file_exists filetype...
  5. github命令行操作
  6. 定义文字用em、rem,效果和px一样
  7. Rman--备份命令
  8. Android 动画小知识点
  9. 中国电信的新媒体营销尝试
  10. 高性能IO之Reactor模式