劍指Offer66題之每日6題 第七天

2021-10-04 01:54:31 字數 1573 閱讀 5865

統計乙個數字在排序陣列**現的次數。

1、遍歷,時間複雜度o(n)

class

solution

return count;}}

;

輸入一棵二叉樹,求該樹的深度。從根結點到葉結點依次經過的結點(含根、葉結點)形成樹的一條路徑,最長路徑的長度為樹的深度。

struct treenode };

class

solution

};

輸入一棵二叉樹,判斷該二叉樹是否是平衡二叉樹。

class

solution

inttreedepth

(treenode* proot)

};

乙個整型陣列裡除了兩個數字之外,其他的數字都出現了兩次。請寫程式找出這兩個只出現一次的數字。

1、遍歷陣列,用map儲存陣列中數字出現的次數,再次遍歷,將陣列中只出現過1次的數壓入陣列res中,令num1和num2分別等於res[0]和res[1]

class

solution

vector<

int> res;

for(

int i =0;

(int

)i < data.

size()

; i++

)*num1 = res[0]

;*num2 = res[1]

;}};

小明很喜歡數學,有一天他在做數學作業時,要求計算出9~16的和,他馬上就寫出了正確答案是100。但是他並不滿足於此,他在想究竟有多少種連續的正數序列的和為100(至少包括兩個數)。沒多久,他就得到另一組連續正數和為100的序列:18,19,20,21,22。現在把問題交給你,你能不能也很快的找出所有和為s的連續正數序列? good luck!

輸出所有和為s的連續正數序列。序列內按照從小至大的順序,序列間按照開始數字從小到大的順序。

最大的項數

class

solution

res.

push_back

(tmp)

; tmp.

clear()

;}}return res;}}

;

輸入乙個遞增排序的陣列和乙個數字s,在陣列中查詢兩個數,是的他們的和正好是s,如果有多對數字的和等於s,輸出兩個數的乘積最小的。

對應每個測試案例,輸出兩個數,小的先輸出。

class

solution}}

return res;}}

;

劍指Offer66題之每日6題 第一天

在乙個二維陣列中,每一行都按照從左到右遞增的順序排序,每一列都按照從上到下遞增的順序排序。請完成乙個函式,輸入這樣的乙個二維陣列和乙個整數,判斷陣列中是否含有該整數。暴力法遍歷 根據加粗處資訊,從左下或者右上開始比較 時間複雜度 o 2n class solution return false 利用...

劍指Offer66題之每日6題 第二天

大家都知道斐波那契數列,現在要求輸入乙個整數n,請你輸出斐波那契數列的第n項。n 39。斐波拉契數列的定義 用f1,f2分別表示 fi 2,fi 1,用ret表示fifi,每次令ret f1 f2,sum就表示fi得到fn,然後把f1,f2分別更新為fi 1,fi,依次類推,sum的值就是最終fn的...

劍指offer 66題 part1(1 6題)

在乙個二維陣列中,每一行都按照從左到右遞增的順序排序,每一列都按照從上到下遞增的順序排序。請完成乙個函式,輸入這樣的乙個二維陣列和乙個整數,判斷陣列中是否含有該整數 這個題其實很簡單 左上角是最小的,右下角是最大的,如果我們從最大或者最小的地方開始查詢不是很方便,想一想是不是,因為有時候選擇是不確定...