news 2026/6/23 8:42:24

leetcode 困难题 745.Prefix and Suffix Search 前缀和后缀搜索

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
leetcode 困难题 745.Prefix and Suffix Search 前缀和后缀搜索

Problem: 745. Prefix and Suffix Search 前缀和后缀搜索

解题过程

ASCII内,"{"刚好在"z"后面,所以算是特殊字符,按照提示拼起来,然后放入到字典树当中去,并且在{后面的前缀需要求出最大的索引

查询的话直接在字典树上面找就可以,若是空则-1,最后返回最大的索引

Code

class trie { public: bool isend = false; int index = -1; trie* arr[27] = {nullptr}; }; class WordFilter { public: trie* root, *ptr; WordFilter(vector<string>& words) { root = new trie; string tp; for( int i = 0; i < words.size(); i++ ) { ptr = root; tp = "-" + words[i] + "{" + words[i]; while(true) { ptr = root; tp = tp.substr(1, tp.size() - 1); bool pre = false; for(int j = 0; j < tp.size(); j++) { if(ptr->arr[tp[j]-'a'] == nullptr) { ptr->arr[tp[j]-'a'] = new trie; } ptr = ptr->arr[tp[j]-'a']; if(pre) { ptr->index = max(ptr->index, i); } if(tp[j]=='{') pre = true; } if(tp[0]=='{') break; } } } int f(string pref, string suff) { string combine = suff + "{" + pref; ptr = root; for(int i = 0; i < combine.size(); i++) { if(ptr->arr[combine[i]-'a']==nullptr) { return -1; } ptr = ptr->arr[combine[i]-'a']; } return ptr->index; } }; /** * Your WordFilter object will be instantiated and called as such: * WordFilter* obj = new WordFilter(words); * int param_1 = obj->f(pref,suff); */
版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/6/23 15:18:13

列车售票|基于springboot 列车售票系统(源码+数据库+文档)

列车售票目录 基于springboot vue列车售票系统 一、前言 二、系统功能演示 三、技术选型 四、其他项目参考 五、代码参考 六、测试参考 七、最新计算机毕设选题推荐 八、源码获取&#xff1a; 基于springboot vue列车售票系统 一、前言 博主介绍&#xff1a;✌️大厂…

作者头像 李华
网站建设 2026/6/22 22:33:30

AI驱动的手动测试变革:赋能而非替代

随着大语言模型和智能自动化技术的飞速发展&#xff0c;软件测试领域正迎来前所未有的变革浪潮。传统手动测试作为软件质量保障的基石&#xff0c;面临着效率提升与价值重塑的双重挑战。 AI时代手动测试的困境与机遇 传统手动测试的局限性 手动测试长期面临着测试覆盖率低、…

作者头像 李华
网站建设 2026/6/23 5:58:29

【奶茶Beta专项】【LVGL9.4源码分析】09-core-group

【奶茶Beta专项】【LVGL9.4源码分析】09-core-group焦点组管理1 概述1.1 文档目的1.2 代码版本与范围2 设计意图与总体定位2.1 为什么需要 lv_group2.2 lv_group 在架构中的位置2.3 与全局输入/焦点状态的关系3 使用方式与典型 DEMO3.1 创建 group 并绑定编码器输入3.2 在菜单/…

作者头像 李华
网站建设 2026/6/23 15:17:53

网络安全异想天开(不定期更新)

1.使用AI大数据技术处理安全问题。2.有福同享有难同当&#xff1a;你发什么&#xff0c;我返回你发的&#xff0c;你拒绝我也拒绝。3.没有隐私可言&#xff1a;软件协议&#xff0c;隐私条款和设置&#xff0c;早就泄露了。4.高考屏蔽信号也是一种安全手段。5.手机验证码的安全…

作者头像 李华
网站建设 2026/6/23 4:46:07

《CAPL脚本实现CANOE工具 Bus-Off自动恢复(含重试机制)》

目录 1.创建CAPL文件 3.编辑CAPL文件 4.CAPL文件功能描述 4.执行CAPL文件结果 1.创建CAPL文件 选择"Insert Network Node" 点击编辑按钮 ->输入CAPL文件的名称->点击打开 ->自动生成一个空的CAPL文件 3.编辑CAPL文件 这边的CANOE软件版本为16 /*!En…

作者头像 李华
网站建设 2026/6/23 17:20:23

力扣1965-丢失信息的雇员

表: Employees---------------------- | Column Name | Type | ---------------------- | employee_id | int | | name | varchar | ---------------------- employee_id 是该表中具有唯一值的列。 每一行表示雇员的 id 和他的姓名。表: Salaries---------------…

作者头像 李华