常見面試演算法題整理

2021-07-25 05:28:25 字數 931 閱讀 4110

下面列的所有的演算法題目基本都能在本部落格中找到 在使用本博文的過程中,可以按照天來複習,每天乙個list,完成這些 基本能應付國內網際網路公司的演算法問題。

第一天

1.給定乙個鍊錶 在鍊錶的尾部插入乙個元素

2.用兩個佇列實現乙個棧

3.用兩個棧實現乙個佇列

4.求兩個有序陣列的中位數,可以延伸為求兩個有序陣列的第k大數,要求複雜度最低(使用二分的思想來做,複雜度logn)

5.atoi  將乙個字串數字變為int型別

6.反轉鍊錶   遞迴和非遞迴版本   常考

7.快速排序

8.全排列  使用遞迴解決比較簡單

9.青蛙跳台階問題   遞迴和跌打

10.lrucache演算法   使用list和map可實現   list里村cacheentry  map裡存key 和 key在list中的iterator位址

第二天

12.mergesortedlists

13.不用加號實現加法  用異或和與運算即可解決

14.計算乙個數字的二進位制形式中1的個數

15.two sum

16.three sum

17.four sum

18.convert  將123abc這種型別的串,前面n個數字後面n個字母 兩兩交插起來  變為1a2b3c

19.判斷乙個字串是否是回文。

20.乙個數的n次方。

第三天

21.maxsubstr 和最大的連續子串  最大連續子矩陣

22.matirxfind  乙個矩陣 按行遞增 按列遞增  找乙個元素是否在這個矩陣中。

23.堆排序  堆調整

24.25.

26.27.

28.

常見面試演算法題收錄

寫在前面 本人是想要從事程式設計方面的非科班學生,課餘時間學習一些演算法,參加一些面試,記錄了一些常見或者認為比較經典的演算法,供新手參考學習。有不足之處還望指正。會持續更新 本文章使用c 語言實現 1.反轉鍊錶 time o n space o 1 listnode reverselist lis...

面試演算法題

前幾天,一好友去筆試,有一題 現在有1000個蘋果,和10個箱子,如何把這1000個蘋果裝在這10個箱子裡,才能使不管任何數量 1 1000 的蘋果,都能一次給出?當時,我們都想,出題這人。今天,在想移位的時候,突然想到了,這絕對是二進位制數的變種。分析 1000個蘋果,最接近1024,轉化為2進製...

面試演算法題

1 直方圖矩形最大值 class solution s.push i return res 2 第n個醜數 class solution return res.back 3 lru cache 最近最少使用頁面置換快取器 class lrucache int get int key void set...