当前位置: 首页 > news >正文

Java | Leetcode Java题解之第472题连接词

题目:

题解:

class Solution {Trie trie = new Trie();public List<String> findAllConcatenatedWordsInADict(String[] words) {List<String> ans = new ArrayList<String>();Arrays.sort(words, (a, b) -> a.length() - b.length());for (int i = 0; i < words.length; i++) {String word = words[i];if (word.length() == 0) {continue;}boolean[] visited = new boolean[word.length()];if (dfs(word, 0, visited)) {ans.add(word);} else {insert(word);}}return ans;}public boolean dfs(String word, int start, boolean[] visited) {if (word.length() == start) {return true;}if (visited[start]) {return false;}visited[start] = true;Trie node = trie;for (int i = start; i < word.length(); i++) {char ch = word.charAt(i);int index = ch - 'a';node = node.children[index];if (node == null) {return false;}if (node.isEnd) {if (dfs(word, i + 1, visited)) {return true;}}}return false;}public void insert(String word) {Trie node = trie;for (int i = 0; i < word.length(); i++) {char ch = word.charAt(i);int index = ch - 'a';if (node.children[index] == null) {node.children[index] = new Trie();}node = node.children[index];}node.isEnd = true;}
}class Trie {Trie[] children;boolean isEnd;public Trie() {children = new Trie[26];isEnd = false;}
}

http://www.mrgr.cn/news/47586.html

相关文章:

  • DeepSeek:性能强劲的开源模型
  • Ubuntu | PostgreSQL | 解决 ERROR: `xmllint` is missing on your system.
  • git merge与rebase区别以及实际应用
  • 阿里mod_asr3.0集成webrtc静音算法
  • 【Oracle篇】深入了解执行计划中的访问路径(含表级别、B树索引、位图索引、簇表四大类访问路径)
  • uniapp 的uni.getRecorderManager() 录音功能小记
  • 【CSS in Depth 2 精译_047】7.2 CSS 响应式设计中的媒体查询原则(上):深入理解媒体查询的类型
  • QTableView-mode中嵌入复选框CheckBox
  • 编程思想:编程范式:响应式编程
  • 快速解决urllib3.exceptions.MaxRetryError: HTTPSConnectionPool
  • Unity网络开发 - C#开源网络通信库PESocket的使用
  • 7.C++面向对象3(拷贝构造函数,赋值运算符重载)
  • Renesas R7FA8D1BH (Cortex®-M85) 上超声波测距模块(HC-SR04)驱动开发
  • Effective C++笔记之二十四:stack overflow
  • window.location.href和open的区别
  • QD1-P14 HTML常用标签:input输入标签
  • MySQL--事务(详解)
  • PGMP-00基础单词(1-25)
  • 数学基础 -- 三角函数极限之小数场景
  • 【.NET 8 实战--孢子记账--从单体到微服务】--角色(增加/删除/修改/查询)
  • React技术在Meta Connect 2024大会
  • LeetCode15.三数之和
  • 【cpp】 lambda 表达式常用笔记
  • ViT模型技术学习
  • 【部署篇】Redis-02单机部署
  • (27)QPSK信号在非相关平坦莱斯(Rician)衰落信道上的误码率性能MATLAB仿真