python算法题库和答案_PYTHON-LeetCode与剑指offer-算法题汇总

背景

开这个专题,总结归纳高频算法题

自从开了这个专栏几个月过去了,今天是7月4号,leetcode与剑指offer自选的些主要题目刷了完了第一遍。计划开始二刷,这次会把剑指offer的相关题目也补充进来,同时也会整理下那几道题一起学习较佳,另外二刷时针对每一题从以下角度思考:

1. 为什么要考这道题,即考点,这道题的背景条件,哪些条件发生变化时,对代码实现影响比较大;

2. 相比一刷时的改进点,不同方法对应的时间复杂度,空间复杂度;

3. 根据这道题,发散思维,能够联想到什么,有没有什么好的使用场景;

4. 集中精力,按专题梳理,刷完每个专题后分析自己薄弱点;

5. 整理leetcode与剑指offer相关经典题目;

为了更好的梳理学习重要点,给予评分

排序

快速排序-重点 10分

查找

基础热身(八大排序与七大查找)

八大排序 (快速排序 10分,要求会手写)

数组

二分查找

L-代表leetcode中出现过的

J-代表剑指offer中出现过的

链表专题(重点)

反转链表(L-206,J-24) : 栈,原地反转,递归,还需加强递归的理解

反转链表II(L-92): 这道题时上一题的升级版,注意条件与思路

从尾到头打印链表(J-6):如果不允许改变原有链表,则使用栈,如可以改变,则可以用递归的方法

K个一组翻转(L-25,重点,高频,栈,尾插法,递归: 需要熟练掌握这道题,这道题的多种实现方法,可以涵盖前面三道

旋转链表(L-61)

合并两个有序链表(L-21,J-25): 迭代与递归两种方法 10分

合并K个链表23 (分治,递归,优先队列,可以不新建节点,优化空间复杂度,不熟) 10分

删除链表的倒数第N个节点(L-19,J-22相似)

删除链表中的节点 (L-237,J-18)

链表中环的检测(L-141)

非循环单链表相交 (L-160,J-52) 需要二刷

两个带环的单链表相交,若相交,返回交点

两数相加 (L-2) : 今天自己写了下答案,发现跟以前自己写的都不一样,相比而言更优化了些

回文链表234(栈,栈的优化,链表的反转)

复制复杂链表(L-138,J-35,如果是复杂链表无环,则可以考虑迭代复制的方法,如果是有环的,则可以考虑hash)

待确认:一个奇数位升序、偶数位降序的单向无环链表,排成一个有序链表

二叉树(前序 中序 后序 层次的递归 非递归方法 重点 )前、中、后、层四种对应的 递归 迭代 等方法是非常基础与重要的,必须熟练掌握

层次遍历 ( 注意 递归与迭代 还有双指针的使用)

平衡二叉树110 (自顶向下与自底向上的方法 对应的时间复杂度与空间复杂度)

搜索二叉树

215-数组中的第K个最大元素(堆排序,与二分查找结合的快速排序) 10分

双指针/滑动窗口

76. 最小覆盖子串 (待刷,第一次未成功)

30. 串联所有单词的子串

76. 最小覆盖子串

159. 至多包含两个不同字符的最长子串

209. 长度最小的子数组

239. 滑动窗口最大值

567. 字符串的排列

632. 最小区间

727. 最小窗口子序列

41.缺失的第一个正数 (这道题没有用到双指针,属于技术型解题,可以跟26提对比下)

三数之和15 (需要二刷)

接雨水43 (注意双指针的思想)

字符串操作 (主要的考点是什么)

动态规划

85. 最大矩形 (没看懂 需要二刷)

DFS

回溯

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值