阿里云进阶训练营--day05

题目

等级:中等
知识点:搜索、字符串、位运算

有一天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次的报错后终于找出了正确的解法,太难了。阿里云进阶训练营--day05_第1张图片
欢迎加入阿里云高校计划https://developer.aliyun.com/adc/college

你可能感兴趣的:(阿里云进阶训练营--day05)