頭條曠世算法崗算法面試題(非機器學習題)

對於一個不同數的序列如何做到O(1)的添加,查詢,刪除,取隨機數

首先考慮添加查詢和刪除,能O(1)的刪除查詢的必然是HashTable
然後考慮取隨機數,取隨機數就需要知道下標,那麼我可以增加一個數組,對於添加操作好說,但對於刪除操作我對於每一個數要知道數組中的下標,這個時候維護一個HashMap就好了.(打ACM不知道HashMap,awsl)

如何不增加空間維護棧中最大值使得正常棧操作和尋找最大值都是O(1)

如果可以增加空間可以很簡單的想到單調棧。
但如果不能增加空間,就將棧的元素變成與當前最大值的差再插入,同時更新最大值。

在給定e的大小,如何求ln5

當不知道e的大小可以使用積分,麥克勞林公式
知道e的大小可以使用牛頓迭代

現在已經收到offer

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章