[英]Search the longest substring in two strings
任務是:找到兩行中找到的最長子串。 問題的特點是這些行很長(文件的內容,即每個400,000個字符),以及由短4個字符組成的字母表。
字符串可以有不同的長度。
我發明並實現了以下算法:
要獲取第一個文件的內容並寫入字符串str1,請刪除換行符
要獲取第二個文件的內容並寫入字符串str2,請刪除換行符
我們將所有子串都考慮為字符串str1,從最長到最短。 為此,在每次迭代時定義循環while(i> 0),在主內容減少字符串長度之后。 所以長度為1的字符串。
在while循環內:長度為N的所有子字符串僅在起始位置不同。
讓我們有一個長度為N的字符串:
它是一個長度為N的子字符串,包含從0開始的字符串。
有兩個長度為N-1的子串在位置0和1之間開始
在它中有三個長度為N-2的子串,它從位置0,1和2開始
...
for循環中計數的起始位置(z = 0; z <= gi; z ++),其中函數getSubstring接收子字符串。 然后使用字符串str2的子字符串運行標准函數strstr
但這個算法是否足夠長。 有沒有辦法讓它更快?
PS用C寫
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.