不是江小白
不是江小白
全部文章
题解
CSS3(1)
Docker(2)
Git使用(2)
Leetcode题解(7)
MySQL(16)
Python(19)
Python图片识别(2)
小程序(2)
工具安装(11)
数据分析(8)
数据分析思维与实战23讲思维导图(1)
数据分析面试题汇总(4)
机器学习(10)
重整《数据分析实战45讲》(4)
归档
标签
去牛客网
登录
/
注册
不是江小白的博客
非典型 程序员
全部文章
/ 题解
(共36篇)
题解 | #单链表的排序#的Python解法
来自专栏
1. 解题思路 看到这题的第一反应就是利用数组的sort函数来自动排序然后更新链表中的节点值,这个思路很简单,就不画图解说,直接上代码。 2. 核心代码 # class ListNode: # def __init__(self, x): # self.val = x # ...
递归
剑指Offer
Python3
双指针
归并排序
2021-08-06
6
1323
题解 | #链表中倒数最后k个结点#的Python解法
来自专栏
1. 解题思路 一般链表题,我们都可以考虑双指针的解题思路,此题同样可以。首先注意题目描述里这句👇“如果该链表长度小于k,请返回一个长度为 0 的链表。” 意味着如果链表为空,那么直接返回None即可。然后结合示例1,继续分析: 首先创建两个指针,指向头部节点: 然后根据k值,移动first指...
Python3
剑指Offer
数组
双指针
切片规则
时间复杂度分析
2021-08-05
9
1100
题解 | #跳台阶#的Python解法
来自专栏
1. 解题思路之暴力分析法 由于题目要求一次只能跳 1个台阶或 2个台阶,所以我们可以暴力画出青蛙🐸从1阶到5阶的跳法来寻找规律,下面看图: 青蛙遇到1个台阶的时候,只有一种跳法: 青蛙遇到2个台阶的时候,有两种跳法: 青蛙遇到3个台阶的时候,有三种跳法: 青蛙遇到 4个台阶的时候,有五种...
斐波拉契数列
动态规划
递归
Python3
剑指Offer
跳台阶
2021-08-02
18
1655
题解 | #两个链表的第一个公共结点#的Python解法
来自专栏
1. 常规思路 既然题目已经明知是两个无环的单链表,那么此题难度就降低了。常规思路就是用一个哈希集合来存储第一个链表遍历后的所有节点;接着遍历第二个链表,与哈希集合中的节点进行比较: 如果第二个链表中节点不存在于哈希集合中,那么移动到下一个节点再比较; 否则,节点存在于哈希集合中,返回第二个链表的...
哈希集合
链表
双指针
Python3
2021-07-27
28
1740
题解 | #斐波那契数列#的Python解法
来自专栏
1. 解题思路一 这道题如果很熟悉斐波拉契数列的定义(即 f(n)=f(n-1)+f(n−2)) ,那么用递归是最易懂的方法。但是递归的时间复杂度达到O(),且空间复杂度也有O(n);所以这并不是最优解。因此,很多朋友提到了动态规划的解法,可是很少有朋友解释为何可以用动态规划来解决?,下面,掌柜就从...
剑指Offer
Python3
动态规划
递归
斐波拉契数列
数组
2021-07-16
32
4006
题解 | #从上往下打印二叉树#的Python解法
来自专栏
1. 解题思路 此题我们可以借助队列这个数据结构 + 层序遍历来解决。只要知道队列的特点是“先进先出”,那么此题就很好解决。 首先判断二叉树是否为空; 其次先把根节点放入队列,然后弹出根节点,添加到列表中; 开始遍历每一层,如果左右节点不为空,则放入队列里,接着弹出添加到列表; 重复前面的过程,直...
剑指Offer
Python3
树
队列
BFS
二叉树
双端队列
2021-07-13
2
799
题解 | #二叉搜索树的后序遍历序列#的Python解法
来自专栏
1. 常规思路:递归 1.1 两个前提: 首先是二叉搜索树(左子树每个节点的值 < 该节点的值 < 右子树每个节点的值)的特点; 其次是后序遍历(对于树中的任意节点来说,先打印它的左子树,然后再打印它的右子树,最后打印这个节点本身)的特点。 1.2 图解示例: 输入: [4,8,6...
剑指Offer
Python3
栈
树
二叉搜索树
递归
辅助栈
2021-07-12
23
1873
题解 | #顺时针打印矩阵#的Python解法
来自专栏
1. 常规解题思路 此题一画出示例矩阵,就可以找到常规解题思路:找到四个角的边界,然后模拟路径遍历矩阵。 2. 核心代码: # -*- coding:utf-8 -*- class Solution: # matrix类型为二维列表,需要返回列表 def printMatrix(s...
剑指Offer
Python3
矩阵
数组
2021-07-08
19
1380
题解 | #栈的压入、弹出序列#的Python 解法
来自专栏
1. 解题思路:辅助栈 首先我们创建一个辅助栈stack,并初始化。然后遍历pushV,依次把元素压入该辅助栈中: 同时也比较辅助栈的栈顶元素与popV的初始元素,当发现两元素相等的时候:就停止压入,然后弹出该栈顶元素:此时辅助栈中就只有三个元素,因为pushV还有元素,所以接着添加到辅助栈中,再...
Python3
剑指Offer
栈
辅助栈
2021-07-07
23
1437
题解 | #包含min函数的栈#的Python解法
来自专栏
1. 解题思路 1.1 回顾栈的特性 只在一端 插入和删除数据,并且数据存在先进后出,后进先出的特性。 1.2 图解示例 示例:输入: ["PSH-1","PSH2","MIN","TOP","POP&...
剑指Offer
Python3
栈
时间复杂度分析
2021-07-06
31
3201
首页
上一页
1
2
3
4
下一页
末页