程序員代碼面試指南題單


注:本題單上的題目一般不會做詳細分析,主要是記錄給自己看的,想知道為什么可以去買左神的書,講的非常詳細!

第一章:棧和隊列

  1. 設計一個有 getMin 功能的棧:鏈接
  2. 由 2 個棧組成的隊列:略
  3. 如何僅用遞歸函數和棧操作逆序一個棧:略
  4. 貓狗隊列:略
  5. 用一個棧實現另一個棧的排序:略
  6. 用棧來求解漢諾塔問題:略
  7. 生成窗口最大值數組:鏈接
  8. 單調棧結構:鏈接
  9. 求最大子矩陣的大小:鏈接
  10. 最大值減去最小值小於或等於 num 的子數組數量:鏈接
  11. 可見山峰對數量:鏈接鏈接

第二章:鏈表問題

  1. 打印兩個有序列表的公共部分:略
  2. 在單鏈表和雙鏈表中刪除倒數第 k 個節點:略
  3. 刪除鏈表中間節點和 a/b 處的節點:略
  4. 反轉單向和雙向鏈表:略
  5. 反轉部分單向鏈表:略
  6. 環形單鏈表的約瑟夫問題:鏈接
  7. 判斷一個鏈表是否為回文結構:鏈接
  8. 將單向鏈表按某值划分為左邊小,中間相等,右邊大的形式:鏈接
  9. 復制帶隨機指針的鏈表:鏈接
  10. 兩個單鏈表生成相加鏈表:略
  11. 兩個鏈表相交的一系列問題:鏈接
  12. 將單鏈表的每 K 個節點之間逆序:鏈接
  13. 刪除無序單鏈表中值重復出現的節點:略
  14. 在單鏈表中刪除指定值的節點:略
  15. 將搜索二叉樹轉換成雙向鏈表:略(要LeetCode會員)以后補
  16. 單鏈表的選擇排序:略
  17. 一種怪異的節點刪除方式:略
  18. 向有序的環形單鏈表中插入新節點:略
  19. 合並兩個有序的單鏈表:略
  20. 按照左右半區的方式重新組合單鏈表:略

第三章:二叉樹問題

  1.  分別用遞歸和非遞歸方式實現二叉樹先序,中序和后序遍歷:鏈接
  2. 打印二叉樹邊界節點:鏈接
  3. 如何較為直觀地打印二叉樹:略
  4. 二叉樹的序列化和反序列化:略
  5. 遍歷二叉樹的神級方法:鏈接
  6. 在二叉樹中找到累加和為指定值的最長路徑長度:鏈接
  7. 找到二叉樹中的最大二叉搜索子樹:鏈接
  8. 找到二叉樹中符合搜索二叉樹條件的最大拓撲結構:鏈接
  9. 二叉樹的按層打印與 ZigZag 打印:略
  10. 調整搜索二叉樹的兩個錯誤的節點:沒有找到相關的題
  11. 判斷 t1 樹是否包含 t2 樹全部的拓撲結構:略
  12. 判斷 t1 樹中是否含有與 t2 樹拓撲結構完全相同的子樹:鏈接
  13. 判斷二叉樹是否為平衡二叉樹:略
  14. 根據后序數組重建搜索二叉樹:略
  15. 判斷一顆二叉樹是否是搜索二叉樹和完全二叉樹:略
  16. 通過有序數組生成平衡搜索二叉樹:略
  17. 在二叉樹中找到一個節點的后繼節點:鏈接
  18. 在二叉樹中找到兩個節點的最近公共祖先:鏈接鏈接
  19. Tarjan 算法與並查集解決二叉樹節點間最近公共祖先的批量查詢問題:鏈接
  20. 二叉樹節點間的最大距離問題:略
  21. 派隊的最大快樂值:鏈接
  22. 通過先序和中序數組生成后續數組:略
  23. 統計和生成所有不同的二叉樹:鏈接
  24. 統計完全二叉樹的節點數:略

第四章:遞歸和動態規划

  1. 斐波那契數列問題的遞歸和動態規划:鏈接鏈接
  2. 矩陣的最小路徑和:略
  3. 換錢的最少貨幣數:鏈接
  4. 機器人達到指定位置的方法數:鏈接
  5. 換錢的方法數:鏈接
  6. 打氣球的最大分數:鏈接
  7. 最長遞增子序列:鏈接
  8. 信封嵌套問題:鏈接
  9. 漢諾塔問題:鏈接鏈接
  10. 最長公共子序列問題:鏈接
  11. 最長公共子串問題:鏈接
  12. 子數組異或和為0的最多划分:鏈接
  13. 最小編輯代價:鏈接
  14. 字符串的交錯組成:鏈接
  15. 龍與地下城游戲:鏈接
  16. 數字字符串轉換為字母組合的種數:鏈接
  17. 表達式得到期望結果的組成種數:鏈接
  18. 排成一條線的紙牌博弈問題:鏈接
  19. 跳躍游戲:鏈接
  20. 數組中的最長連續序列:鏈接
  21. N 皇后問題:鏈接

第五章:字符串問題

  1. 判斷兩個字符串是否互為變形詞:略
  2. 判斷兩個字符串是否互為旋轉詞:略
  3. 將整數數字字符串轉為整數值:鏈接
  4. 字符串的統計字符串:略
  5. 判斷字符數組中是否所有字符都只出現過一次:略
  6. 在有序但有空的數組中查找字符串:略
  7. 字符串的調整與替換:略
  8. 翻轉字符串:略
  9. 完美洗牌問題:鏈接鏈接
  10. 刪除多余字符得到字典序最小的字符串:略
  11. 數組中兩個字符串的最小距離:略
  12. 字符串的轉換路徑問題:鏈接
  13. 添加最少的字符使字符串整體都是回文字符串:鏈接鏈接
  14. 括號字符串的有效性和最長有效長度:鏈接
  15. 公式字符串求值:鏈接
  16. 0 左邊必有 1 的二進制字符串數量:略
  17. 拼接所有字符串產生字典序最小的字符串:鏈接
  18. 找到字符串的最長無重復字符子串:略
  19. 找到指定的新類型字符:鏈接(查無此題)
  20. 旋變字符串問題:鏈接
  21. 最小包含子串長度:鏈接(查無此題)
  22. 回文最少分割數:鏈接
  23. 字符串匹配問題:鏈接
  24. 字典樹(前綴樹)的實現:鏈接
  25. 子數組最大異或和:鏈接

第六章:大數據和空間限制

  1. 認識布隆過濾器:略
  2. 只用2GB內存在20億個整數中找到出現次數最多的數:略
  3. 40億個非負整數中找到未出現的數:略
  4. 找到100億個URL中重復的URL及搜索詞匯的Top k問題:略
  5. 40億個非負整數中找到出現兩次的數和所有數的中位數:略
  6. 一致性哈希算法的基本原理:略
  7. 島問題:略

第七章:位運算

  1. 不用額外的變量交換兩個整數的值:略
  2. 不做任何比較判斷找出兩個數中較大的數:略(這兩章題目基本都沒有OJ的,只能看書)
  3. 只用位運算不用算術運算實現整數的加減乘除運算:略
  4. 整數的二進制數表達中有多少個1:略
  5. 在其他數都出現偶數次的數組中找到出現奇數次的數:鏈接
  6. 在其他數都出現k次的數組中找到出現1次的數:鏈接

第八章:數組和矩陣問題

  1. 轉圈打印矩陣:略
  2. 將正方形矩陣順時針旋轉90度:略
  3. "之"字形打印矩陣:略
  4. 找到無序數組中最小的k個數:鏈接
  5. 需要排序的最短子數組長度:鏈接
  6. 在數組中找出出現次數大於N/K的數:鏈接鏈接
  7. 在行列都排好序的矩陣中找指定數:鏈接
  8. 最長可整合子數組的長度:略
  9. 不重復打印排序數組中相加和為給定值的所有二元組和三元組:略
  10. 未排序正數數組中累加和為給定值的最長子數組長度:略(雙指針)
  11. 未排序整數數組中累加和為給定值的最長子數組長度:鏈接
  12. 未排序整數數組中累加和小於等於給定值的最長子數組長度:鏈接
  13. 計算數組的小和:鏈接
  14. 自然數數組的排序:略
  15. 奇數下標都是奇數或者偶數下標都是偶數:略
  16. 子數組最大累加和問題:鏈接
  17. 子矩陣最大累加和問題:鏈接
  18. 在數組中找到一個局部最小的位置:鏈接
  19. 數組中子數組的最大累乘積:鏈接
  20. 打印N個數組整體最大的Top K:鏈接
  21. 邊界都是1的最大正方形大小:鏈接
  22. 不包含本位置值的累乘數組:略
  23. 數組的partition調整:略
  24. 求最短通路值:
  25. 數組中未出現的最小正整數:
  26. 數組排序之后相鄰數的最大差值:
  27. 做項目的最大收益問題:
  28. 分金條的最小花費:
  29. 大樓輪廓問題:
  30. 加油站良好出發點問題:
  31. 容器盛水問題:

第九章:其他題目

  1. 從5隨機到7隨機及其擴展:
  2. 一行代碼求兩個數的最大公約數:略


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM