所謂迴圈移位是指。乙個字串的首字母移到末尾, 其他字元的次序保持不變。比如abcd經過一次迴圈移位後變成bcda
給定兩個字串,判斷它們是不是可以通過若干次迴圈移位得到彼此
由m行組成,每行包含兩個由大寫字母'a'~'z'組成的字串,中間由空格隔開
對於每行輸入,輸出這兩個字串是否可以通過迴圈移位得到彼此:yes表示是,no表示否
input
aacd cdaa
abcdefg efgabcd
abcd acbd
abcdefeg abcdee
output
yes
yesno
no
分析:
首先抓住本題的乙個細節,「得到彼此」,不難得出,兩個串長不相等則輸出「no」。接著考察迴圈移位演算法和匹配演算法,其中迴圈移位演算法不難寫出,匹配演算法可用kmp演算法,然而使用此二演算法一般會導致使用暴力解法,除此之外是否有好的方法?確實有,不過不需要迴圈移位演算法,其思想是串a接串a得到aa,當串b是aa的子串時,匹配成功,這個方法非常巧妙,若沒有一定的思維含量是很難想到的,我認為其出發點在於尋找規律。
**:
#include#include#include#define maxsize 100000
int* bulidnext(char* p,int m)
else t=n[t];
} return n;
}int kmp(char* p,char* t,int n,int m)
else j=next[j];
} return i-j;
}int main()
} return 0;
}
清華人文 人文清華
讀 清華名師講壇 之後 徐振陽在圖勝於文的時代,人們缺乏閱讀的耐心。有人說,人的耐心像雞的牙齒一樣少。乙個學醫的同學知道我要成天閱讀時,他說如果笑話超過五句他都不看。雖是說說笑笑,卻也見出許多人的狀態。很多原因造成了這種現象。我想,還有乙個原因在於如今的專業分工。不要說隔行如隔山,就是同一學科內部的...
清華學生告訴你什麼是清華!
一 永遠不要說你已經盡力了 我在高中時體育特別差,跑1000 公尺都很要命,從來都是不及格。到了清華之後,第一節體育課,老師告訴我們每年要測3000 公尺長跑,跑不過不許 畢業,取消推研資格。怎麼辦?於是每天晚上10 30 我們的自習教室關門,操場上的人就多起來了。跑半個小時再回寢室繼續學習,練了乙...
Andrew ng清華報告
andrew ng今天來清華作報告,我就幾點重要的內容,談談理解和想法。1 特徵表示的粒度 學習演算法在乙個什麼粒度上的特徵表示,才有能發揮作用?就乙個來說,畫素級的特徵根本沒有價值,無法進行電單車正例和負例的區分,而如果特徵是乙個具有結構性 或者說有含義 的時候,比如是否具有handlebars,...