Java-n个字符组成m长度的字符串,共有多少中组合?
详情如题目所示:
注:并非每个字符都必须包含!
举例说明:
①:
1.字符个数为2 (n = 2)如: ab;
2.最终字符串长度为3 (m = 3);
最终串的组合可能: aaa、aab、aba、baa、abb、bab、bba、bbb
②:
1.字符个数为3 (n = 3)如: abc;
2.最终字符串长度为2 (m = 2);
最终串的组合可能: aa、ab、ba、ac、ca、bb、bc、cb、cc
个人猜测:最终组合数应该是 n^m ; 求证实!
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
这是一个排列问题,答案确实是n的m次幂(不过需要保证这n个字符是互异的)。
因为新组成的字符串长度为m,我们从第一个字符开始选取n个字符中的某个填入该位置,之后的m-1个位置选取字符填入时和第一个字符面临的选择一样,同样有n个字符可以选择。所以就有:
n * n * ... * n = n^m