(String str, boolean isOriginalWord, HashMap<String, Boolean> map)
| 20 | } |
| 21 | |
| 22 | public static boolean canBuildWord(String str, boolean isOriginalWord, HashMap<String, Boolean> map) { |
| 23 | if (map.containsKey(str) && !isOriginalWord) { |
| 24 | return map.get(str); |
| 25 | } |
| 26 | for (int i = 1; i < str.length(); i++) { |
| 27 | String left = str.substring(0, i); |
| 28 | String right = str.substring(i); |
| 29 | if (map.containsKey(left) && map.get(left) == true && |
| 30 | canBuildWord(right, false, map)) { |
| 31 | return true; |
| 32 | } |
| 33 | } |
| 34 | map.put(str, false); |
| 35 | return false; |
| 36 | } |
| 37 | |
| 38 | public static void main(String[] args) { |
| 39 | String[] arr = createGiantArray(); |
no test coverage detected