Skip to content

Latest commit

 

History

History
32 lines (26 loc) · 868 Bytes

1268.-search-suggestions-system.md

File metadata and controls

32 lines (26 loc) · 868 Bytes

1268. Search Suggestions System

class Solution:
    def suggestedProducts(self, products: List[str], searchWord: str) -> List[List[str]]:
        ### 终于到tries了... 
        ### 暴力 
    
        products.sort()
        search_start = 0 
        ans = []
        for i in range(len(searchWord)):
            iter_find = self.bi_helper(products, searchWord[:i+1], search_start)
            ans.append([s for s in products[iter_find : iter_find + 3] if s.startswith(searchWord[:i+1])])
            search_start = iter_find

        return ans 
        
    ## 自己造轮子,复习bi
    def bi_helper(self,p , s, search_start = 0):
        l = search_start
        r = len(p)
        while l < r:
            mid = (l + r)//2
            if p[mid] < s:
                l = mid + 1
            else:
                r = mid
        return l