54、图论-实现Trie前缀树

server/2024/9/23 4:51:28/

 思路:

主要是构建一个trie前缀树结构。如果构建呢?看题意,应该当前节点对象下有几个属性:

1、next节点数组

2、是否为结尾

3、当前值

代码如下:

java">class Trie {class Node {boolean end;Node[] nexts;public Node() {end = false;nexts = new Node[26];}}public Node root;public Trie() {root = new Node();}public void insert(String word) {if (word == null) {return;}char[] chs = word.toCharArray();Node node = root;int path;for (int i = 0; i < chs.length; i++) {path = chs[i] - 'a';if (node.nexts[path] == null) {node.nexts[path] = new Node();}node = node.nexts[path];}node.end = true;}public boolean search(String word) {if (word == null) {return false;}char[] chs = word.toCharArray();Node node = root;int path;for (int i = 0; i < chs.length; i++) {path = chs[i] - 'a';if (node.nexts[path] == null) {return false;}node = node.nexts[path];}return node.end;}public boolean startsWith(String prefix) {if (prefix == null) {return false;}char[] chs = prefix.toCharArray();int path;Node node = root;for (int i = 0; i < chs.length; i++) {path = chs[i] - 'a';if (node.nexts[path] == null) {return false;}node = node.nexts[path];}return true;}
}


http://www.ppmy.cn/server/10819.html

相关文章

精通MongoDB聚合操作API:深入探索高级技巧与实践

MongoDB 聚合操作API提供了强大的数据处理能力&#xff0c;能够对数据进行筛选、变换、分组、统计等复杂操作。本文介绍了MongoDB的基本用法和高级用法&#xff0c;高级用法涵盖了setWindowFields、merge、facet、expr、accumulator窗口函数、结果合并、多面聚合、查询表达式在…

【后端】python深度学习的详细指引

提示&#xff1a;文章写完后&#xff0c;目录可以自动生成&#xff0c;如何生成可参考右边的帮助文档 文章目录 前言一、什么是深度学习二、python深度学习的详细指引1. 确定学习目标和项目2. 学习基础知识3. 选择合适的深度学习框架4. 学习深度学习理论5. 实践项目6. 深入学习…

探讨数据库的事务隔离级别

什么是数据库事务以及事务的ACID属性? 数据库事务是一组操作&#xff0c;这些操作作为一个整体单元执行&#xff0c;要么全部成功&#xff0c;要么全部失败。事务是数据库管理系统中保证数据完整性和一致性的基本单位。了解事务及其属性&#xff08;通常称为ACID属性&#xf…

[Unity]动态修改URP资源的相关参数

一、获取当前的UniversalRenderPipelineAsset 工程里UniversalRenderPipelineAsset可能有好几种&#xff08;比如low、mid、high等&#xff09;&#xff0c;游戏运行时会根据机型动态加载指定的UniversalRenderPipelineAsset&#xff0c;以下代码可以动态获取当前使用的Univer…

AI检索增强生成引擎-RAGFlow-深度理解知识文档,提取真知灼见

&#x1f4a1; RAGFlow 是什么&#xff1f; RAGFlow是一款基于深度文档理解构建的开源RAG&#xff08;Retrieval-Augmented Generation&#xff09;引擎。RAGFlow个人可以为各种规模的企业及提供一套专业的RAG工作流程&#xff0c;结合针对用户群体的大语言模型&#xff08;LL…

Python100个库分享第23个—jionlp收发件地址拆分(自动补全):省、市、区\县—包括自治区 (办公篇)

目录 专栏导读库的介绍库的安装数据准备目录结构完整代码总结 专栏导读 &#x1f338; 欢迎来到Python办公自动化专栏—Python处理办公问题&#xff0c;解放您的双手 &#x1f3f3;️‍&#x1f308; 博客主页&#xff1a;请点击——> 一晌小贪欢的博客主页求关注 &…

PTA 1014 Waiting in Line (30分)

原题链接&#xff1a;PTA 1014 Waiting in Line (30分) Suppose a bank has N windows open for service. There is a yellow line in front of the windows which devides the waiting area into two parts. The rules for the customers to wait in line are: The space in…

直播运营学习内容 沈阳直播运营培训 沈阳新媒体运营培训

1&#xff1a;直播运营概述 直播行业发展趋势 直播运营的定义和重要性 直播平台选择与特点分析 2&#xff1a;直播内容策划 目标受众分析 直播内容类型与形式 直播节目策划与制作 3&#xff1a;直播营销推广 直播营销策略与方法 社交媒体整合营销 直播活动策划与执行 4&…