第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

文章關(guān)鍵字替換的問題

文章關(guān)鍵字替換的問題

心有法竹 2018-07-23 09:06:16
現(xiàn)在有一個 字典key 是關(guān)鍵字名稱value 是 關(guān)鍵字的鏈接地址 發(fā)一篇文章 如何高效的替換 關(guān)鍵字為對應(yīng)的文章并且只替換一次呢?并且已經(jīng)是處于鏈接中的字 不參與替換 這種需求很多新聞網(wǎng)站都用得到 不知道各位有沒有好的辦法!
查看完整描述

3 回答

?
叮當(dāng)貓咪

TA貢獻1776條經(jīng)驗 獲得超12個贊

按照常規(guī)匹配,把長度為M的字典中的key都枚舉出來,然后從長度為N的文章中搜索關(guān)鍵詞,找到則替換。搜索的時間復(fù)雜度是O(M*N)。替換的時間復(fù)雜度取決于字典的查找速度和匹配到關(guān)鍵詞的個數(shù),假設(shè)字典的時間復(fù)雜度是最理想狀況O(1),要替換的關(guān)鍵字個數(shù)為K,那么替換的時間復(fù)雜度就是O(K),如果通過數(shù)組存儲整篇文章還需要調(diào)整位置,則為O(K*N)。這樣最好情況下的復(fù)雜度就是O(M*N + K*N)。再按照樓主200個關(guān)鍵字,一篇平常的5000字文章需要搜索1百萬次。假設(shè)有10處替換項,保守估計需要5萬次的操作。

這樣算來,如果文章較長再加字典中關(guān)鍵詞多,那就指數(shù)級增長。對于文章本身,可以中文分詞后再匹配,會降低復(fù)雜度。對于字典,可以嘗試使用其它數(shù)據(jù)結(jié)構(gòu),例如trie樹等。


查看完整回答
反對 回復(fù) 2018-07-25
?
ITMISS

TA貢獻1871條經(jīng)驗 獲得超8個贊

正則是個不錯的選擇,

不知道你的字典里面到底有多少個key與value

如果太多,并且文章非常長的話,那還是會存在效率問題的.


查看完整回答
反對 回復(fù) 2018-07-25
?
江戶川亂折騰

TA貢獻1851條經(jīng)驗 獲得超5個贊

可以考慮在客戶端用javascript實現(xiàn)吧,  很多highlight的library實現(xiàn)了關(guān)鍵字高亮,  使用其中的邏輯, 根據(jù)字典替換高亮成為鏈接。字典則可以從server端使用json傳過去。

查看完整回答
反對 回復(fù) 2018-07-25
  • 3 回答
  • 0 關(guān)注
  • 347 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學(xué)習(xí)伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號