一个字符串包含的所有回文串
来源:互联网 发布:哈工大电力大数据 编辑:程序博客网 时间:2024/06/06 21:32
题目描述:
输入一个字符串str,输出str包含的所有回文串的个数。如ABA,包含的回文串有A,B,A,AA,ABA共5个。
思路:
长度为N的str的不打乱原始顺序所有可能的字符子串个数为2^N个,再判定每一个子串是否是回文串。
感觉可以用动态规划,但是目前没有想到如何建模。
代码如下:
public class Main { public static void main(String args[]) { Scanner sc = new Scanner(System.in); String str = sc.nextLine(); System.out.println(numOfPalindrome(str)); } public static int numOfPalindrome(String str) { if (str == null || str.length() == 0) return 0; int N = str.length(), i = 1, num = 0, j = 0, flag = 1; StringBuffer sb = null; while (i < (int) Math.pow(2, N)) { j = 0; flag = 1; sb = new StringBuffer(); while (j < N) { if ((i & flag) != 0) sb.append(str.charAt(j)); j++; flag = flag << 1; } if (isPalindrome(sb, 0, sb.length() - 1)) { System.out.println(sb); num++; } i++; } return num; } public static boolean isPalindrome(StringBuffer sb, int start, int end) { while (start <= end && sb.charAt(start) == sb.charAt(end)) { start++; end--; } return (start > end); }}
输入输出如下:
abaabaaaaba5
阅读全文
0 0
- 一个字符串包含的所有回文串
- 求一个字符串的所有回文字串
- 寻找一个字符串的所有回文子字符串
- 一个字符串中包含另一个字符串所有字符的最短子串
- 哈希表:一个字符串是否包含另一个字符串的所有字符
- 求一个字符串的最长回文串
- 一道题:给一个字符串,和一个字符集,求该字符串包含所有字符集的最短子串
- 网易实习招聘,求一个字符串的所有子回文字符串
- 一个回文字符串的例子
- 判断一个字符串里是否包含另一个字符串所有的字符
- 给定一个字符串,找到包含该字符串所有字符的最短子串
- 算法4— 判断一个字符串里是否包含另一个字符串所有的字符
- 判断一个字符串里是否包含另一个字符串所有的字符
- 【LintCode】判断一个字符串是否包含另一个字符串的所有字符
- 判断一个字符串中所有子串是否为回文子串
- 查找包含某个字符串的所有文件
- 给一个字符串(包含重复字符),打印它的所有可能的组合。
- location的search操作——解析url字符串,返回包含所有参数的一个对象
- 蓝牙4.0协议栈基础
- 1044. Lucky Tickets. Easy!
- 【Android】沉浸式状态栏设置
- Java IO的RandomAccessFile的使用
- 仿微博的评论功能以及评论区置顶效果
- 一个字符串包含的所有回文串
- Codeforces 284E Coin Troubles【思维+拓扑排序+完全背包】好题!
- ubuntu16.04 下dbus-cxx Library编译安装指南
- android 自定义权限
- VS高级使用方法1:autoexp.dat使用Visual studio在debug时显示变量内容
- Java学习笔记之IO(十二):SequenceInputStream序列流
- webstorm创建cordova项目运行失败
- Java获取当前时间日期
- 逆矩阵的计算方法