Python 中使用给定字符的可能单词
给定字典和字符数组,使用数组中的字符打印所有可能的有效单词。 注意:不允许重复字符。 示例:
Input : Dict = ["go","bat","me","eat","goal","boy", "run"]
arr = ['e','o','b', 'a','m','g', 'l']
Output : go, me, goal.
此问题已有解决方案,请参考使用数组字符链接打印所有可能的有效单词。我们将使用字典数据结构在 python 中非常快速地解决这个问题。方法很简单:
- 使用集合模块的计数器(输入)方法,逐个遍历给定字符串列表,并将其转换为字典。
- 检查任何字符串的所有键是否都在给定的字符集内,这意味着这个单词是可以创建的。
# Function to print words which can be created
# using given set of characters
def charCount(word):
dict = {}
for i in word:
dict[i] = dict.get(i, 0) + 1
return dict
def possible_words(lwords, charSet):
for word in lwords:
flag = 1
chars = charCount(word)
for key in chars:
if key not in charSet:
flag = 0
else:
if charSet.count(key) != chars[key]:
flag = 0
if flag == 1:
print(word)
if __name__ == "__main__":
input = ['goo', 'bat', 'me', 'eat', 'goal', 'boy', 'run']
charSet = ['e', 'o', 'b', 'a', 'm', 'g', 'l']
possible_words(input, charSet)
输出:
go
me
goal
版权属于:月萌API www.moonapi.com,转载请注明出处