news 2026/4/17 19:10:39

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/4/18 8:48:09

【奶茶Beta专项】【LVGL9.4源码分析】09-core-global全局核心管理

【奶茶Beta专项】【LVGL9.4源码分析】09-core-global全局核心管理 1 概述1.1 文档目的1.2 代码版本与范围 2 设计意图与总体定位2.1 lv_global 在 LVGL 中扮演的角色2.2 全局上下文结构与访问方式2.3 与 lv_init/lv_deinit 以及对象系统的关系 3 使用方式与典型调用场景3.1 常规…

作者头像 李华
网站建设 2026/4/18 8:54:50

一款开源的小红书下载工具

前言一款开源的小红书平台的下载工具&#xff0c;这算是个老软件了&#xff0c;因为我23年的时候我就用过这款软件&#xff0c;近期又看到了&#xff0c;说明作者一直在维护更新&#xff0c;所以分享一下。软件介绍1、软件界面看起来比较杂乱吗&#xff0c;其实操作非常简单&am…

作者头像 李华
网站建设 2026/4/18 5:33:36

Windows系统文件vsstrace.dll缺少损坏问题 下载修复

在使用电脑系统时经常会出现丢失找不到某些文件的情况&#xff0c;由于很多常用软件都是采用 Microsoft Visual Studio 编写的&#xff0c;所以这类软件的运行需要依赖微软Visual C运行库&#xff0c;比如像 QQ、迅雷、Adobe 软件等等&#xff0c;如果没有安装VC运行库或者安装…

作者头像 李华
网站建设 2026/4/18 5:35:46

vue基于Spring Boot的固定资产智慧预警系统的应用和研究_s93rkw61

目录具体实现截图项目介绍论文大纲核心代码部分展示项目运行指导结论源码获取详细视频演示 &#xff1a;文章底部获取博主联系方式&#xff01;同行可合作具体实现截图 本系统&#xff08;程序源码数据库调试部署讲解&#xff09;同时还支持java、ThinkPHP、Node.js、Spring B…

作者头像 李华