最近為了通過(guò)華為的OD的考試,在??途W(wǎng)上刷編程題,劍指offer上的題目還是不錯(cuò)的,不過(guò)感覺(jué)刷了題,不總結(jié)很容易就忘記,因此采用邊刷邊總結(jié)的方式,希望更快提高自己的編程水平。在這里和大家一起分享自己的總結(jié),希望對(duì)你有用。

如上在??途W(wǎng)上的劍指offer按知識(shí)分類(lèi)后,搜索算法包括如上5種題目
接下來(lái)具體看下對(duì)應(yīng)的題目,按難度由簡(jiǎn)單遞增
一、數(shù)字在升序數(shù)組中出現(xiàn)的次數(shù)
題目如下:

解題思路1:
使用Python語(yǔ)言解決這題非常簡(jiǎn)單,只要使用列表的count方法就可以實(shí)現(xiàn)統(tǒng)計(jì)列表里元素出現(xiàn)的次數(shù)。

運(yùn)行時(shí)間和占用內(nèi)存都沒(méi)超




二、旋轉(zhuǎn)數(shù)組的最小數(shù)字

解題思路1:
一維數(shù)組就是列表,使用Python語(yǔ)言解決這題非常簡(jiǎn)單,只要使用列表的min函數(shù)就可以實(shí)現(xiàn)獲取列表其最小值,不管旋轉(zhuǎn)還是不旋轉(zhuǎn),都是一個(gè)列表,最壞的情況就是要遍歷整個(gè)列表。







三、數(shù)字序列中某一位的數(shù)字









四、二維數(shù)組中的查找


解題思路:最簡(jiǎn)單的就是直接進(jìn)行遍歷查找,外層用個(gè)for循環(huán),內(nèi)層直接用in判斷元素是否在列表里







五、字符串的排列













