Files
LeetCode-Go/leetcode/1268.Search-Suggestions-System/1268. Search Suggestions System.go
2021-06-04 09:58:16 +08:00

23 lines
601 B
Go

package leetcode
import (
"sort"
)
func suggestedProducts(products []string, searchWord string) [][]string {
sort.Strings(products)
searchWordBytes, result := []byte(searchWord), make([][]string, 0, len(searchWord))
for i := 1; i <= len(searchWord); i++ {
searchWordBytes[i-1]++
products = products[:sort.SearchStrings(products, string(searchWordBytes[:i]))]
searchWordBytes[i-1]--
products = products[sort.SearchStrings(products, searchWord[:i]):]
if len(products) > 3 {
result = append(result, products[:3])
} else {
result = append(result, products)
}
}
return result
}