题目
等级:中等
知识点:搜索、字符串、位运算
有一天Jerry给Tom出了一道题来考验他。Jerry给了Tom一个长度为2*n的只包含小写字母的字符串,让Tom将这个字符串任意挑选字符,将其分成两个等长的字符串a和b(对于一个si不能同时被选到a和b中),然后a要和reverse(b)相同(a和反转后的b相同),问这样的方案数有多少?Tom有些为难,所以请你来帮帮他吧。
输入一个正整数n,和一个长度为2*n的字符串
输出方案数。
示例1
输入:
2
"abba"
输出:
4
思路
这一题限制,只可以用java来写解题,由于是算法我选择了最简单粗暴的一种解法暴力破解,经过枚举反复尝试找出所有的排列方法,又看了群里大佬发的解题思路进行代码实现,经过n次的报错后终于找出了正确的解法,太难了。
欢迎加入阿里云高校计划https://developer.aliyun.com/adc/college
Jerry给Tom一道难题,从2*n长的字符串中选出两个等长子串,使其一个等于另一个的反转。本题涉及搜索、字符串和位运算,采用Java实现暴力破解法找到所有可能的解。
583





