(queue, s, wordSet, seen)
| 174 | }; |
| 175 | |
| 176 | var canWordBreak = (queue, s, wordSet, seen) => { |
| 177 | const start = queue.dequeue(); |
| 178 | |
| 179 | const hasSeen = seen[start]; |
| 180 | if (hasSeen) return false; |
| 181 | |
| 182 | if (canBreak(queue, s, start, wordSet)) |
| 183 | return true; /* Time O(N * N) | Space O(N + WIDTH) */ |
| 184 | |
| 185 | seen[start] = true; /* | Space O(N) */ |
| 186 | return false; |
| 187 | }; |
| 188 | |
| 189 | var canBreak = (queue, s, start, wordSet) => { |
| 190 | for (let end = start + 1; end <= s.length; end++) { |