Algorithm:每周至少做一個leetcode的算法題;
Review:閱讀并點評至少一篇英文技術(shù)文章虐秋;
Tip/Techni:學(xué)習(xí)至少一個技術(shù)技巧淡诗;
Share:分享一篇有觀點和思考的技術(shù)文章粱侣。
A
28.Implement strStr()
Implement strStr().
題目描述:
Returns a pointer to the first occurrence of needle in haystack, ornullif needle is not part of haystack.
解題思路:
1.暴力求解
代碼實現(xiàn):
2.標(biāo)準(zhǔn)KMP算法
(1)先對模式串needle做“自匹配”遥缕,即求出模式串前綴與后綴中重復(fù)部分,將重復(fù)信息保存在next數(shù)組中。
(2)依據(jù)next數(shù)組信息篙悯,進(jìn)行haystack與needle的匹配蚁阳。
在匹配過程中,若發(fā)生不匹配的情況鸽照,如果next[j]>=0螺捐,則目標(biāo)串的指針i不變,將模式串的指針j移動到next[j]的位置繼續(xù)進(jìn)行匹配移宅;若next[j]=-1归粉,則將i右移1位,并將j置0漏峰,繼續(xù)進(jìn)行比較糠悼。
kmp算法的關(guān)鍵在于求算next[]數(shù)組的值,即求算模式串每個位置處的最長后綴與前綴相同的長度浅乔。
代碼實現(xiàn):
R
Inline Functions in C++ - GeeksforGeeks
講述cpp內(nèi)聯(lián)函數(shù)的優(yōu)缺點,介紹其功能特性靖苇。
T
vscode快捷鍵學(xué)習(xí)
官方文檔傳送門Visual Studio Code Key Bindings
for linux版本https://code.visualstudio.com/shortcuts/keyboard-shortcuts-linux.pdf
Ubuntu下Vscode的實用快捷鍵
? ? 代碼格式化快捷鍵: ctrl+shift+i席噩,不用全選或者選中。(巨實用)
? ? 單行注釋切換:ctrl + /
? ? 添加單行注釋:組合鍵 ctrl+k贤壁,ctrl+c
? ? 取消單行注釋:組合鍵 ctrl+k悼枢,ctrl+u
? ? 返回上一步:Ctrl + alt +? -(最后一個是減號鍵,下同)
? ? 返回下一步:Ctrl + shift + -
再附幾篇關(guān)于vscode快捷鍵的博客
傳送門:vscode: Visual Studio Code 常用快捷鍵 - 魚魚 - 博客園
Visual Studio Code 快捷鍵大全(linux版)-CSDN下
GitHub - LeonWuV/FE-blog-repository: 我的前端學(xué)習(xí)筆記倉庫
S
1.什么是軟件架構(gòu)脾拆。2.建筑師做什么軟件馒索。
3.一些重要的決定都是軟件工程師。
4.我們?yōu)槭裁葱枰浖軜?gòu)名船。
Quick Introduction to Software Architecture - DZone Microservices