leetcode1062題,最長重複子串。比如aabcaabdaab,輸出最長的重複過的aab
leetcode758題,字串中的加粗單詞。比如 words = [「ab」, 「bc」] 和 s = 「aabcd」,需要返回 「aabcd」。
leetcode3題,無重複字元的最長字串。比如pwwkew,最長無重複字元是wke
已經出現n次的題目了,套路總結下
1、定義starta、startb、curr,通過curr控制移動,匹配starta+curr與startb+curr的大小
2、一旦找到乙個ok的以後,start僅僅進行+1移動,否則start會丟失部分資訊
3、鑑於758題,插個話,字首和一定要考慮第乙個元素的感受
3如下:
int
lengthoflongestsubstring
(char
* s)
} ret = i - start +
1> ret ? i - start +
1: ret;
if(flag ==1)
else
}return ret;
}
758如下:
#include
#define maxlen 502
#define tmpmax 1500
char
*boldwords
(char
** words,
int wordssize,
char
* s)
;int minus[maxlen]=;
char rettmp[tmpmax]
; rettmp[0]
='\0'
; slen =
strlen
(s);
for(i =
0; i < wordssize; i++
)else
if(wstart + curr != wlen)
for(j = sstart; j < sstart + curr; j++
) sstart++
; curr =0;
}}for(i =
0; i < slen +
1;i++
)for
(i =
0;i < slen +
1;i++
)else
if(minus[i]==-
1)if(i == slen +1)
rettmp[retlen++
]= s[i]
; rettmp[retlen]
='\0';}
rettmp[retlen]
='\0'
;char
* ret =
(char*)
malloc
(retlen +1)
;memcpy
(ret, rettmp, retlen +1)
;return ret;
}
1062如下
int
longestrepeatingsubstring
(char
* s)
end ++;if
(end == slen)
if(max > slen - start)
}return max;
}
C 演算法 萬用字元匹配 雙指標
leetcode相關c 演算法解答 給定乙個字串 s 和乙個字元模式 實現乙個支援 和 的萬用字元匹配。可以匹配任何單個字元。可以匹配任意字串 包括空字串 兩個字串完全匹配才算匹配成功。s 可能為空,且只包含從 a z 的小寫字母。p 可能為空,且只包含從 a z 的小寫字母,以及字元 和 輸入 s...
單詞匹配演算法
題目 有乙個江洋大盜,他每次寫信都是從一張報紙上剪下單詞,再把單詞貼在信上。假如某張報紙的單詞儲存在vector 中,而信的單詞儲存在vectorletter 中,寫乙個演算法程式判別該報紙可不可以生成該信?對比一些方法 這裡假設 m個單詞,每個單詞平均d個字母 letter n個單詞,每個單詞平均...
雙指標 雙索引 演算法介紹 c
雙指標演算法在一些陣列題中很常用,它指的是一類使用兩個指標遍歷陣列求解問題的方法,這裡的指標是廣義上的,有可能是c c 中的指標,也有可能僅僅是兩個整數下標。雙指標演算法有兩種形式,一種被稱為對撞指標,兩個指標從兩端向中間靠攏 另一種是快慢指標,兩個指標向統一方向運動,滑動視窗方法就是一種常用的快慢...