{"id":16941912,"url":"https://github.com/shenweichen/coding_interviews","last_synced_at":"2025-04-06T03:09:37.804Z","repository":{"id":99631159,"uuid":"231751992","full_name":"shenweichen/coding_interviews","owner":"shenweichen","description":"《剑指Offer》题目汇总\u0026常考题总结(Python实现)","archived":false,"fork":false,"pushed_at":"2020-01-27T13:23:02.000Z","size":42,"stargazers_count":463,"open_issues_count":0,"forks_count":120,"subscribers_count":9,"default_branch":"master","last_synced_at":"2025-03-30T02:07:41.087Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/shenweichen.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2020-01-04T11:30:37.000Z","updated_at":"2025-03-26T15:06:06.000Z","dependencies_parsed_at":null,"dependency_job_id":"f750b23a-e1a9-423a-bd14-13892ab051cf","html_url":"https://github.com/shenweichen/coding_interviews","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/shenweichen%2Fcoding_interviews","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/shenweichen%2Fcoding_interviews/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/shenweichen%2Fcoding_interviews/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/shenweichen%2Fcoding_interviews/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/shenweichen","download_url":"https://codeload.github.com/shenweichen/coding_interviews/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":247427006,"owners_count":20937201,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-10-13T21:10:41.001Z","updated_at":"2025-04-06T03:09:37.773Z","avatar_url":"https://github.com/shenweichen.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# 剑指Offer题目汇总\n- 配和牛客网在线OJ使用更佳 \nhttps://www.nowcoder.com/ta/coding-interviews\n- 题目前的序号为对应的原书第2版的面试题序号，当然对于第1版也可以找到对应题目\n- 备注中分为常考和关注两种，常考题表示**这道题目在我和我身边的同学的面试经历中出现过若干次**，关注题表示**这道题目的思想和解法需要同学们学习和了解**。重要程度**常考\u003e关注\u003e无备注**，当然这不是说无备注的题目一定不会考到，同学们有时间的话还是尽量看完~\n\n| 题目                              | 类别                         | 备注 |\n| --------------------------------- | ---------------------------- | ---- |\n| 3.数组中重复的数字                | `Array`                      | 常考 |\n| 4.二维数组中的查找                | `Array`                      | 常考 |\n| 5.替换空格                        | `String`                     |      |\n| 6.从尾到头打印链表                | `Linked List`                |      |\n| 7.重建二叉树                      | `Tree`                       | 关注 |\n| 8.二叉树的下一个结点              | `Tree`                       | 关注 |\n| 9.用两个栈实现队列                | `Stack`,`Queue`              | 关注 |\n| 9.两个队列实现栈                  | `Stack`,`Queue`              | 关注 |\n| 10.斐波那契数列                   | `Dynamic Programming`,       |      |\n| 10.跳台阶                         | `Dynamic Programming`,       |      |\n| 10.变态跳台阶                     | `Dynamic Programming`,`Math` |      |\n| 10.矩形覆盖                       | `Dynamic Programming`,       |      |\n| 11.旋转数组的最小数字             | `Binary Search`,             | 常考 |\n| 12.矩阵中的路径                   | `BackTracking`               |      |\n| 13.机器人的运动范围               | `BackTracking`               | 关注 |\n| 14.剪绳子                         | `Dynamic Programming`        |      |\n| 15.二进制中的1的个数              | `Bit Manipulation`,          |      |\n| 16.数值的整数次方                 | `Math`,                      | 关注 |\n| 17.打印从1到最大的n位数           |                              |      |\n| 18.O(1)时间删除链表节点           | `Linked List`                |      |\n| 18.删除链表中重复结点             | `Linked List`                | 常考 |\n| 19.正则表达式匹配                 | `String`                     |      |\n| 20.表示数值的字符串               | `String`                     |      |\n| 21.调整数组顺序使奇数位于偶数前面 |                              | 关注 |\n| 22.链表中倒数第k个结点            | `Linked List`                | 常考 |\n| 23.链表中环的入口结点             | `Linked List`                | 常考 |\n| 24.反转链表                       | `Linked List`                |      |\n| 25.合并两个排序的链表             | `Linked List`                |      |\n| 26.树的子结构                     | `Tree`                       | 常考 |\n| 27.二叉树的镜像                   | `Tree`                       |      |\n| 28.对称的二叉树                   | `Tree`                       |      |\n| 29.顺时针打印矩阵                 | `Array`                      |      |\n| 30.包含min函数的栈                | `Stack`                      |      |\n| 31.栈的压入弹出序列               | `Stack`                      | 常考 |\n| 32.从上往下打印二叉树             | `Tree`                       | 常考 |\n| 32.按之字形顺序打印二叉树         | `Tree`                       |      |\n| 32.把二叉树打印成多行             | `Tree`                       |      |\n| 33.二叉搜索树的后序遍历序列       | `Tree`                       | 常考 |\n| 34.二叉树中和为某一值的路径       | `Tree`                       |      |\n| 35.复杂链表的复制                 | `Linked List`                |      |\n| 36.二叉搜索树与双向链表           | `Linked List`                |      |\n| 37.序列化二叉树                   | `Tree`                       | 关注 |\n| 38.字符串的排列                   | `String`                     | 关注 |\n| 39.数组中出现次数超过一半的数字   | `Array`                      | 常考 |\n| 40.最小的k个数                    | `Heap`                       |      |\n| 41.数据流中的中位数               |                              | 常考 |\n| 42.连续子数组最大和               | `Dynamic Programming`        |      |\n| 43.整数中1出现的次数              | `Bit Manipulation`           | 关注 |\n| 44.数字序列中某一位的数字         | `Math`                       | 关注 |\n| 45.把数组排成最小的数             | `String`                     |      |\n| 46.把数字翻译成字符串             | `String`                     |      |\n| 47.礼物的最大价值                 | `Dynamic Programming`        |      |\n| 48.最长不含重复字符的子字符串     | `Dynamic Programming`        | 常考 |\n| 49.丑数                           | `Math`                       |      |\n| 50.第一个只出现一次的字符         |                              |      |\n| 50.字符流中第一个不重复的字符     |                              |      |\n| 51.数组中的逆序对                 | `Array`                      | 常考 |\n| 52.两个链表的第一个公共结点       | `Linked List`                |      |\n| 53.数字在排序数组中出现的次数     | `Binary Search`              | 常考 |\n| 54.二叉搜索树中的第k个结点        | `Tree`                       |      |\n| 55.二叉树的深度                   | `Tree`                       |      |\n| 55.平衡二叉树                     | `Tree`                       |      |\n| 56.数组中只出现一次的数字         | `Array`                      |      |\n| 57.和为S的两个数字                | `Array`                      |      |\n| 57.和为S的连续正数序列            | `Array`                      | 关注 |\n| 58.翻转单词序列                   | `String`                     |      |\n| 58.左旋转字符串                   | `String`                     |      |\n| 59.滑动窗口的最大值               | `Queue`                      | 常考 |\n| 60.n个骰子的点数                  |                              |      |\n| 61.扑克牌顺子                     |                              |      |\n| 62.孩子们的游戏                   | `Math`                       |      |\n| 63.股票的最大利润                 | `Math`                       |      |\n| 64.求1+2+3+...+n                  |                              |      |\n| 65.不用加减乘除做加法             | `Bit Manipulation`           |      |\n| 66.构建乘积数组                   | `Array`                      |      |\n| 67.把字符串转成整数               | `Bit Manipulation`           | 关注 |\n| 68.树中两个节点的最低公共祖先     |                              | 常考 |\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fshenweichen%2Fcoding_interviews","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fshenweichen%2Fcoding_interviews","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fshenweichen%2Fcoding_interviews/lists"}