From 3b79979633f04b3a0437f582a2bd459263dd1d3f Mon Sep 17 00:00:00 2001 From: Leah Jia Date: Fri, 19 May 2023 18:56:18 -0700 Subject: [PATCH] 1268 --- java/1268-search-suggestions-system.java | 22 ++++++++++++++++++++++ 1 file changed, 22 insertions(+) create mode 100644 java/1268-search-suggestions-system.java diff --git a/java/1268-search-suggestions-system.java b/java/1268-search-suggestions-system.java new file mode 100644 index 000000000..7cbf398e4 --- /dev/null +++ b/java/1268-search-suggestions-system.java @@ -0,0 +1,22 @@ +class Solution { + public List> suggestedProducts(String[] products, String searchWord) { + List> res = new ArrayList<>(); + Arrays.sort(products); + + int l = 0; + int r = products.length - 1; + for (int i = 0; i < searchWord.length(); i++) { + while (l <= r && (products[l].length() <= i || products[l].charAt(i) != searchWord.charAt(i))) + l++; + while (l <= r && (products[r].length() <= i || products[r].charAt(i) != searchWord.charAt(i))) + r--; + + List list = new ArrayList<>(); + for (int j = l; j < l + 3 && j <= r; j++) { + list.add(products[j]); + } + res.add(list); + } + return res; + } +} \ No newline at end of file