华为OD机试真题-字符串拼接-2023年OD统一考试(C卷)

2024-01-10 10:45:15

题目描述:

给定M(0<M<=30)个字符(a-z),从中取出任意字符(每个字符只能用一次)拼接成长度为N(0<N<=5)的字符串,要求相同的字符不能相邻,计算出给定的字符列表能拼接出多少种满足条件的字符串,输入非法或者无法拼接出满足条件的字符串则返回0。

输入描述:

给定的字符列表和结果字符串长度,中间使用空格(" ")拼接

输出描述:

满足条件的字符串个数

补充说明:

示例1

输入:

abc 1

输出:

3

说明:

给定的字符为a,b,c,结果字符串长度为1,可以拼接成a,b,c,共3种

示例2

输入:

dde 2

输出:

2

说明:

给定的字符为dde,结果字符串长度为2,可以拼接成de,ed,共2种

解题思路:考察对数组、递归的理解和运用。 

import itertools
n=input().split()
s=n[0]
flag=0
if len(n)!=2:
    flag=1
elif not n[1].isdigit():
    flag=1
if len(s)<=

文章来源:https://blog.csdn.net/2301_76848549/article/details/135495999
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。