From c3cf993830faa715738a0e0a78ebe420a552ff0a Mon Sep 17 00:00:00 2001 From: hongyiheng Date: Tue, 14 Sep 2021 20:24:25 +0800 Subject: [PATCH] feat: add java solution to lc problem: No.0676.Implement Magic Dictionary --- .../0676.Implement Magic Dictionary/README.md | 33 ++++++++++++++++++- .../README_EN.md | 33 ++++++++++++++++++- .../Solution.java | 32 ++++++++++++++++++ 3 files changed, 96 insertions(+), 2 deletions(-) create mode 100644 solution/0600-0699/0676.Implement Magic Dictionary/Solution.java diff --git a/solution/0600-0699/0676.Implement Magic Dictionary/README.md b/solution/0600-0699/0676.Implement Magic Dictionary/README.md index 610ab7bcb2a0d..fbf27077fcfa2 100644 --- a/solution/0600-0699/0676.Implement Magic Dictionary/README.md +++ b/solution/0600-0699/0676.Implement Magic Dictionary/README.md @@ -77,7 +77,38 @@ magicDictionary.search("leetcoded"); // 返回 False ```java - +class MagicDictionary { + List dict; + /** Initialize your data structure here. */ + public MagicDictionary() { + dict = new ArrayList<>(); + } + + public void buildDict(String[] dictionary) { + for (String item : dictionary) { + dict.add(item.toCharArray()); + } + } + + public boolean search(String searchWord) { + char[] target = searchWord.toCharArray(); + for (char[] item : dict) { + if (item.length != target.length) { + continue; + } + int diff = 0; + for (int i = 0; i < target.length; i++) { + if (target[i] != item[i]) { + diff += 1; + } + } + if (diff == 1) { + return true; + } + } + return false; + } +} ``` ### **...** diff --git a/solution/0600-0699/0676.Implement Magic Dictionary/README_EN.md b/solution/0600-0699/0676.Implement Magic Dictionary/README_EN.md index 83eec2b6d31bd..f3676ac151c50 100644 --- a/solution/0600-0699/0676.Implement Magic Dictionary/README_EN.md +++ b/solution/0600-0699/0676.Implement Magic Dictionary/README_EN.md @@ -61,7 +61,38 @@ magicDictionary.search("leetcoded"); // return False ### **Java** ```java - +class MagicDictionary { + List dict; + /** Initialize your data structure here. */ + public MagicDictionary() { + dict = new ArrayList<>(); + } + + public void buildDict(String[] dictionary) { + for (String item : dictionary) { + dict.add(item.toCharArray()); + } + } + + public boolean search(String searchWord) { + char[] target = searchWord.toCharArray(); + for (char[] item : dict) { + if (item.length != target.length) { + continue; + } + int diff = 0; + for (int i = 0; i < target.length; i++) { + if (target[i] != item[i]) { + diff += 1; + } + } + if (diff == 1) { + return true; + } + } + return false; + } +} ``` ### **...** diff --git a/solution/0600-0699/0676.Implement Magic Dictionary/Solution.java b/solution/0600-0699/0676.Implement Magic Dictionary/Solution.java new file mode 100644 index 0000000000000..39f13d9c05ff7 --- /dev/null +++ b/solution/0600-0699/0676.Implement Magic Dictionary/Solution.java @@ -0,0 +1,32 @@ +class MagicDictionary { + List dict; + /** Initialize your data structure here. */ + public MagicDictionary() { + dict = new ArrayList<>(); + } + + public void buildDict(String[] dictionary) { + for (String item : dictionary) { + dict.add(item.toCharArray()); + } + } + + public boolean search(String searchWord) { + char[] target = searchWord.toCharArray(); + for (char[] item : dict) { + if (item.length != target.length) { + continue; + } + int diff = 0; + for (int i = 0; i < target.length; i++) { + if (target[i] != item[i]) { + diff += 1; + } + } + if (diff == 1) { + return true; + } + } + return false; + } +} \ No newline at end of file