常見面試題之MAP(一)

2021-10-06 13:45:04 字數 2831 閱讀 4403

難度中等2137

給你乙個包含 n 個整數的陣列 nums,判斷 nums 中是否存在三個元素 a,b,c ,使得 a + b + c = 0 ?請你找出所有滿足條件且不重複的三元組。

注意:答案中不可以包含重複的三元組。

示例:給定陣列 nums = [-1, 0, 1, 2, -1, -4],

滿足要求的三元組集合為:

[

[-1, 0, 1],

[-1, -1, 2]

]

class

solution);

char buf[30]

;snprintf

(buf,30,

"%10d%10d%10d"

,t[0

],t[1]

,t[2])

; string key

(buf);if

(ret_map.

find

(key)

== ret_map.

end())

)); ret.

push_back()

;}}}

}return ret;}}

;

難度中等591

給定乙個二叉樹,判斷其是否是乙個有效的二叉搜尋樹。

假設乙個二叉搜尋樹具有如下特徵:

• 節點的左子樹只包含小於當前節點的數。

• 節點的右子樹只包含大於當前節點的數。

• 所有左子樹和右子樹自身必須也是二叉搜尋樹。

示例 1:

輸入:

2

/ \1 3

輸出: true

示例 2:

輸入:

5

/ \1 4

/ \3 6

輸出: false

解釋: 輸入為: [5,1,4,null,null,3,6]。

根節點的值為 5 ,但是其右子節點值為 4 。

/**

* definition for a binary tree node.

* struct treenode

* };

*/class

solution

root= ss.

top();

ss.pop();

//cout(root-

>val <= pre)

return

false

; pre = root-

>val;

root = root-

>right;

}return

true;}

};

示例 1:

輸入: root = [3,5,1,6,2,0,8,null,null,7,4], p = 5, q = 1

輸出: 3

解釋: 節點 5 和節點 1 的最近公共祖先是節點 3。

示例 2:

輸入: root = [3,5,1,6,2,0,8,null,null,7,4], p = 5, q = 4

輸出: 5

解釋: 節點 5 和節點 4 的最近公共祖先是節點 5。因為根據定義最近公共祖先節點可以為節點本身。

說明:• 所有節點的值都是唯一的。

• p、q 為不同節點且均存在於給定的二叉樹中。

解法1

class

solution

return lson || rson ||

(root-

>val == p-

>val || root-

>val == q-

>val);}

treenode*

lowestcommonancestor

(treenode* root, treenode* p, treenode* q)

};

解法2

class

solution

};

實現 pow(x, n) ,即計算 x 的 n 次冪函式。

示例 1:

輸入: 2.00000, 10

輸出: 1024.00000

示例 2:

輸入: 2.10000, 3

輸出: 9.26100

示例 3:

輸入: 2.00000, -2

輸出: 0.25000

解釋: 2-2 = 1/22 = 1/4 = 0.25

說明:-100.0 < x < 100.0

n 是 32 位有符號整數,其數值範圍是 [−231, 231 − 1] 。

class

solution

};

難度簡單608

給定乙個大小為 n 的陣列,找到其中的多數元素。多數元素是指在陣列**現次數大於 ⌊ n/2 ⌋ 的元素。

你可以假設陣列是非空的,並且給定的陣列總是存在多數元素。

示例 1:

輸入: [3,2,3]

輸出: 3

示例 2:

輸入: [2,2,1,1,1,2,2]

輸出: 2

通過次數169,623

提交次數267,865

class

solution

else

}for

(auto c:mem)

return0;

}};

常見面試題一

1.下列程式在32位 linux 或unix 中的結果是什麼?func char str main 答 10 4 9 這個也就是說sizeof 來計算的時候,要在字串後面加乙個 0,而 strlen 不加。其他str 為乙個指標,故 sizeof str 為4 2 在c 的內中定義訪問函式,即是在這...

常見面試題

1.get和post的區別 1 本質區別 get是向伺服器請求資料,post是向伺服器傳送資料。2 伺服器獲取值的方式 get方式提交的資料,伺服器端使用request.querystring獲取變數的值。post方式提交的資料,伺服器端使用request.form獲取資料。3 安全性 get安全效...

常見面試題

1 一行 實現1 100之和 lst i for i in range 1,101 print sum lst 2 如何在乙個函式內部修改全域性變數?在函式內部新增 global 變數名 這樣就可以在本地作用域定義全域性作用域了 name 大明 def eat name1 global name n...