1268. Search Suggestions System
- Search Suggestions System python solution
题目描述
Given an array of strings products and a string searchWord. We want to design a system that suggests at most three product names from products after each character of searchWord is typed. Suggested products should have common prefix with the searchWord. If there are more than three products with a common prefix return the three lexicographically minimums products.
Return list of lists of the suggested products after each character of searchWord is typed.



解析
题目比较容易理解,就是查询特定字母串,返回符合条件的product。
需要按照searchWord中字母的顺序进行搜索,例如该product不含有前缀mo,那么在下次的查找过程中,可以将该词忽略。因为该product不可能再满足条件了。
filter函数用于过滤序列,过滤掉不符合条件的元素,返回由符合条件元素组成的新列表。
其中
lambda x: x.startswith(searchWord[:i])
就是一个函数
class Solution(object):
def suggestedProducts(self, products, searchWord):
result = list()
products.sort()
for i in range(1, len(searchWord)+1):
products = list(filter(lambda x: x.startswith(searchWord[:i]), products))
result.append(products[:3])
return result
Reference
https://leetcode.com/problems/search-suggestions-system/discuss/436253/Simple-python-short-solution
本文详细解析了LeetCode上搜索建议系统问题的解决方案,通过Python实现,讲解了如何在输入每个字符后,从产品列表中筛选出最多三个与输入字符串前缀相匹配的产品名称。介绍了使用sort和filter函数来优化搜索过程的方法。
911

被折叠的 条评论
为什么被折叠?



