字符串s構造前綴樹,并判斷p是否屬于s的子串

文章目錄

  • 1、描述
  • 2、notes
  • 3、code

1、描述

根據幾個單詞,構造一個前綴樹,再給定一個單詞p,判斷p是否屬于s的前綴
輸入:vec = {“hello”, “world”, “hey”, “hi”} p = “hell”
輸入:yes

2、notes

就直接構造

3、code

#include <iostream>
#include <vector>
#include <cstring>using namespace std;struct TrieNode {TrieNode* children[26];bool isEnd;TrieNode() {memset(children, 0, sizeof(children));isEnd = false;}
};void insert(TrieNode* root, string word) {TrieNode* node = root;for (char c : word) {int index = c - 'a';if (!node->children[index]) {node->children[index] = new TrieNode();}node = node->children[index];}node->isEnd = true;
}TrieNode* buildTrie(vector<string>& words) {TrieNode* root = new TrieNode();for (string word : words) {insert(root, word);}return root;
}bool isPrefix(TrieNode* root, string prefix) {TrieNode* node = root;for (char c : prefix) {int index = c - 'a';if (!node->children[index]) {return false;}node = node->children[index];}return true;
}int main() {vector<string> words = {"hello", "world", "hi", "hey"};TrieNode* root = buildTrie(words);string s = "hello, world, hi, hey";string p1 = "worldi";string p2 = "hell";string p3 = "abc";if (isPrefix(root, p1)) {cout << p1 << " is a prefix of " << s << endl;} else {cout << p1 << " is NOT a prefix of " << s << endl;}return 0;
}

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/web/43742.shtml
繁體地址,請注明出處:http://hk.pswp.cn/web/43742.shtml
英文地址,請注明出處:http://en.pswp.cn/web/43742.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

編程語言如何和計算機交互:深入解析交互機制

編程語言如何和計算機交互&#xff1a;深入解析交互機制 在數字化世界的深處&#xff0c;編程語言與計算機之間的交互是構建數字邏輯、實現功能需求的基石。這一過程既充滿神秘&#xff0c;又充滿力量。那么&#xff0c;編程語言究竟是如何與計算機進行交互的呢&#xff1f;本…

好的管理是什么樣子的?放權與監督

背景 身份&#xff1a;一線管理干部&#xff08;組長、基層部門負責人&#xff09;目標&#xff1a;部門承接的任務能夠按期高質量完成&#xff1b;在80%以上的時間里&#xff0c;部門所有成員知道自己要做什么&#xff0c;如何做好 措施 帶團隊已經有幾年時間了&#xff0c…

行為模式8.狀態模式------燈泡狀態切換

行為型模式 模板方法模式&#xff08;Template Method Pattern&#xff09;命令模式&#xff08;Command Pattern&#xff09;迭代器模式&#xff08;Iterator Pattern&#xff09;觀察者模式&#xff08;Observer Pattern&#xff09;中介者模式&#xff08;Mediator Pattern…

融合CDN是什么?為什么需要融合CDN?其應用方法與原理是什么?

你了解融合CDN是什么嗎&#xff1f;為什么需要融合CDN&#xff1f;你可能有聽過融合CDN&#xff0c;但你知道它的應用方法與原理嗎&#xff1f;本文將帶你一次了解什么是融合CDN&#xff0c;詳細介紹融合CDN的應用方法與運用原理&#xff0c;立刻替您解開心中疑惑&#xff01; …

【Qt】xml Dom復制

1. 功能 將A.xml文件中的copyNode節點全部復制到B.xml中的testRoot節點。 2. 代碼 #include <QDomDocument> #include <QFile> #include <QIODevice> #include <QtXml>void copyNodeXml() {// 源文件DOMQDomDocument ADoc;// 加載源文件QFile fileA(…

[微信小程序知識點]自定義組件-拓展-外部樣式類

使用組件時&#xff0c;組件使用者可以給組件傳入css類名&#xff0c;通過傳入的類名修改組件的樣式 。 如果需要使用外部樣式類修改組件的樣式&#xff0c;在Component中需要用extemalClassess定義若干個外部樣式類。 具體用法如下: (1)在Components文件里創建custom06組件 (…

EtherCAT ESI文件CRC32計算規則和方法

EtherCAT ESI文件CRC32計算規則和方法 EtherCAT ESI文件的CRC32計算遵循特定的規則&#xff0c;以確保設備描述的完整性。以下是詳細的規則和計算步驟&#xff0c;以及C#實現示例&#xff1a; 計算規則 使用標準的CRC32多項式&#xff1a;0x04C11DB7初始值&#xff1a;0xFFF…

Python實現文件訪問和加密GUI應用程序

Python實現文件訪問和加密 簡單的文本文件加密和解密的GUI應用程序&#xff0c;實現了一個簡單的凱撒密碼加密和解密算法 運行效果 1.實現UI界面 [外鏈圖片轉存失敗,源站可能有防盜鏈機制,建議將圖片保存下來直接上傳(img-yG28ajb1-1720676735133)(https://i-blog.csdnimg.…

免費SSL證書申請指南

申請免費SSL證書的步驟相對直接&#xff0c;以下是基于當前可用信息的簡明指南&#xff0c;特別是針對一些熱門的免費SSL證書提供商&#xff0c;下面以JoySSL證書商為例&#xff1a; 1、注冊賬號 打開JoySSL官網&#xff0c;注冊并填寫邀請碼230920&#xff0c;獲取免費證書與…

RK系列UST-OTG切換為HOST模式或DEVICE模式的兩種方法(DTS修改和軟件命令修改)

1、修改DTS dr_mode: tells Dual-Role USB controllers that we want to work on a particular mode. Valid arguments are “host”, “peripheral” and “otg”. In case this attribute isn’t passed via DT, USB DRD controllers should default to OTG. usb20_otg: usb…

淺談三車平臺車型對比功能實用獎-競品分析

目錄&#xff1a; 一、項目背景 二、競品概述 三、競品目標功能對比 3.1、車型對比入口位置 3.2、車型對比首頁 3.3、添加/刪除車型功能 3.4、選擇車型后功能對比 3.5、配置對比的功能 四、總結 一、項目背景 在汽車購買過程中&#xff0c;消費者經常面臨著選擇困難&…

六、數據可視化—Echars(爬蟲及數據可視化)

六、數據可視化—Echars&#xff08;爬蟲及數據可視化&#xff09; Echarts應用 Echarts Echarts官網&#xff0c;很多圖表等都是我們可以 https://echarts.apache.org/zh/index.html 是百度自己做的圖表&#xff0c;后來用的人越來越多&#xff0c;捐給了orange組織&#xf…

【好生意】暢捷通好生意各版本之間的區別

【暢捷通好生意各版本區別】 隨著產品線的增加&#xff0c;不同版本之間存在差異。 以下是針對自己使用、研究過程中的記錄。 完善ing 功能普及版標準版采購運費分攤沒有單獨的采購費用分攤單&#xff0c;但是支持隨單分攤。支持

企業如何挑選策劃公司,這些標準你了解嗎?

誠然&#xff0c;在這個競爭激烈的市場環境下&#xff0c;企業有時候就像是站在十字路口的旅人&#xff0c;面前擺著的是一條條花錢卻未必能看見收益的道路。 這時候&#xff0c;找一家對的策劃公司就很重要&#xff0c;這里分享一點個人多年經驗&#xff0c;希望對你有所幫助…

【精簡教程】VSCode 連接 Remix

初始化 Node.js 項目 yarn init v1.22.19安裝 Remix yarn add remix-project/remixd -g?? 此時如果直接敲 remix&#xff0c;顯示找不到這個命令。 使用 Node.js 來直接執行 remixd.js 文件 node node_modules\remix-project\remixd\src\bin\remixd.js&#x1f604; 連接上了…

安全極客團隊榮獲首屆“矩陣杯”網絡安全大賽人工智能挑戰賽“三等獎”

近日&#xff0c;東半球規格高、規模大且獎金豐厚的網絡安全頂級賽事——首屆“矩陣杯”網絡安全大賽在青島國際會議中心圓滿落幕。本次大賽設置了五大賽事&#xff0c;包括通用產品漏挖賽、國產軟硬件安全檢測賽、原創漏洞挖掘賽、人工智能&#xff08;大模型&#xff09;挑戰…

【Linux】Windows平臺使用gdb調試FFmpeg源碼

FFmpeg是一個跨平臺的多媒體庫&#xff0c;有時需要在別的平臺上進行開發和調試&#xff0c;記錄一下在linux環境下使用gdb來調試FFmpeg源碼的基本方式 1.可執行文件 在windows平臺使用linux環境來調試FFmpeg源碼&#xff0c;需要編譯生成一個后綴有_g的exe文件&#xff0c;參…

HTTP中常見的狀態碼有哪些?

常用的包括以下幾個&#xff1a; 200&#xff1a;表示客戶端請求成功 201&#xff1a;請求成功,服務器創建了新資源。 204&#xff1a;無內容&#xff0c;服務器成功處理請求&#xff0c;但未返回任何內容。 206: 表示“部分內容”,當客戶端請求一個資源的一部分時&#xff0c;…

YOLOv10部署教程,使用tensorRT部署,有轉化和推理代碼

YOLOv10部署教程,使用tensorRT部署,有轉化和推理代碼 一、使用平臺1. 轉化onnx模型轉化trt模型模型推理全部的代碼論文題目:YOLOv10: Real-Time End-to-End Object Detection 研究單位:清華大學 論文鏈接:http://arxiv.org/abs/2405.14458 代碼鏈接:https://github.com/T…

每天一個數據分析題(四百二十三)- 置信區間

在給定的顯著性水平下&#xff0c;某一特定的X水平上&#xff0c;總體Y分布的離散度越大&#xff0c;即σ^2越大&#xff0c;則 A. 預測區間越寬&#xff0c;精度越低 B. 預測區間越寬&#xff0c;預測誤差越小 C. 預測區間越窄&#xff0c;精度越高 D. 預測區間越窄&#…