vowelMap = new HashMap<>();
+ for (String word : wordlist) {
+ String genericVal = makeGenericVowel(word);
+ if (!vowelMap.containsKey(genericVal)) {
+ vowelMap.put(genericVal, word);
+ }
+ }
+
+ String[] ans = new String[queries.length];
+
+ for (int i = 0; i < queries.length; i++) {
+ if (set.contains(queries[i])) {
+ ans[i] = queries[i];
+ }
+ else if (caseMap.containsKey(queries[i].toLowerCase())) {
+ ans[i] = caseMap.get(queries[i].toLowerCase());
+ }
+ else if (vowelMap.containsKey(makeGenericVowel(queries[i]))) {
+ ans[i] = vowelMap.get(makeGenericVowel(queries[i]));
+ }
+ else {
+ ans[i] = "";
+ }
+ }
+
+ return ans;
+ }
+
+ private String makeGenericVowel(String s) {
+ String vowel = "aeiou";
+ char[] ch = s.toLowerCase().toCharArray();
+ for (int i = 0; i < ch.length; i++) {
+ if (vowel.indexOf(ch[i]) != -1) {
+ ch[i] = '#';
+ }
+ }
+
+ return String.valueOf(ch);
+ }
+ }
+}
diff --git a/src/test/java/com/fishercoder/_966Test.java b/src/test/java/com/fishercoder/_966Test.java
new file mode 100644
index 0000000000..0ccb874586
--- /dev/null
+++ b/src/test/java/com/fishercoder/_966Test.java
@@ -0,0 +1,34 @@
+package com.fishercoder;
+
+import com.fishercoder.solutions._966;
+import org.junit.BeforeClass;
+import org.junit.Test;
+
+import java.util.Arrays;
+
+import static org.junit.Assert.assertEquals;
+
+/**
+ * Created by varunu28 on 1/01/19.
+ */
+
+
+public class _966Test {
+ private static _966.Solution test;
+
+ @BeforeClass
+ public static void setup() {
+ test = new _966.Solution();
+ }
+
+
+ @Test
+ public void test1() {
+ assertEquals(
+ Arrays.toString(new String[]{"kite","KiTe","KiTe","Hare","hare","","","KiTe","","KiTe"}),
+ Arrays.toString(test
+ .spellchecker(
+ new String[]{"KiTe","kite","hare","Hare"},
+ new String[]{"kite","Kite","KiTe","Hare","HARE","Hear","hear","keti","keet","keto"})));
+ }
+}
pFad - Phonifier reborn
Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.
Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.
Alternative Proxies:
Alternative Proxy
pFad Proxy
pFad v3 Proxy
pFad v4 Proxy