不是江小白
不是江小白
全部文章
题解
CSS3(1)
Docker(2)
Git使用(2)
Leetcode题解(7)
MySQL(16)
Python(19)
Python图片识别(2)
小程序(2)
工具安装(11)
数据分析(8)
数据分析思维与实战23讲思维导图(1)
数据分析面试题汇总(4)
机器学习(10)
重整《数据分析实战45讲》(4)
归档
标签
去牛客网
登录
/
注册
不是江小白的博客
非典型 程序员
全部文章
/ 题解
(共21篇)
题解 | #挑选方案问题#的Python解法
来自专栏
1. 解法一:生成函数 1.1 思路 (由于公式有点多,但是耐心看下去你会发现没你想象中那么难懂这些公式,谢谢!)看到好些大佬都提到此题可以用生成函数解,那么我们先了解一些关于生成函数(Generating function)的基础知识。首先看定义: 专业地术语解释:在数学中,某个序列 的母函数(...
Python3
数学
生成函数
math库
广义二项式定理
2021-09-04
1
733
题解 | #牛牛打怪兽#的Python解法
来自专栏
1. 解题思路 首先注意题目描述里的几个关键点: “当使用这个组合拳的时候,打第X怪兽的时候,同时会打到第2X、2X+1这两个怪兽,每次组合拳会扣打到的怪兽一滴血。” 和“值得注意的是组合拳必须攻击三只怪兽。” 这两句话告诉我们,一套组合拳是要打在3个怪兽身上,而且只有奇数个怪兽的时候才会生效,怪...
Python3
递归
贪心算法
数组
2021-08-17
0
1233
题解 | #单词消消乐#的Python解法
来自专栏
1. 解题思路 常规思路:辅助栈。 首先新建一个辅助栈,然后把第一个单词的所有字符添加进去; 接着判断栈顶元素跟接下来压入的字符是否相同,如果相同则弹出栈顶元素,否则继续压入; 最后循环结束,拼接栈中所有字符。 2. 核心代码 # # 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法...
Python3
数组
哈希表
位运算
奇偶数判断
按位与
辅助栈
2021-08-13
0
838
题解 | #数组中出现次数超过一半的数字#的Python解法
来自专栏
1. 解题思路之 了解暴力法 题目的描述这句话(“例如输入一个长度为9的数组[1,2,3,2,2,2,5,4,2]。由于数字2在数组中出现了5次,超过数组长度的一半,因此输出2。”)其实就已经给出了思路。就是👉暴力解法: 首先找到数组长度的一半,这里为 , 定为 n 变量; 接着统计数组中各...
剑指Offer
Python3
数组
排序
摩尔投票算法
2021-08-12
17
1196
题解 | #二叉树的镜像#的Python解法
来自专栏
1. 解题思路 仔细看题目描述里面的两颗二叉树,可以发现镜像二叉树的左右子树就是交换源二叉树的左右子树镜像后得到的!所以只需先遍历求出源二叉树的left 和right 子树,然后再获取他们的镜像子树,最后交换镜像子树的位置即可得到。 2. 核心代码 # class TreeNode: # d...
递归
剑指Offer
Python3
二叉树
栈
辅助栈
2021-08-11
5
1040
题解 | #旋转数组的最小数字#的Python解法
来自专栏
1. 解题思路 拿到这个题的第一反应就是使用min函数不就可以解决(暴力解法)?!于是输入如下代码。 2. 核心代码 # -*- coding:utf-8 -*- class Solution: def minNumberInRotateArray(self, rotateArray): ...
Python3
剑指Offer
数组
二分查找
时间复杂度分析
2021-08-10
8
1242
题解 | #单链表的排序#的Python解法
来自专栏
1. 解题思路 看到这题的第一反应就是利用数组的sort函数来自动排序然后更新链表中的节点值,这个思路很简单,就不画图解说,直接上代码。 2. 核心代码 # class ListNode: # def __init__(self, x): # self.val = x # ...
递归
剑指Offer
Python3
双指针
归并排序
2021-08-06
6
1321
题解 | #链表中倒数最后k个结点#的Python解法
来自专栏
1. 解题思路 一般链表题,我们都可以考虑双指针的解题思路,此题同样可以。首先注意题目描述里这句👇“如果该链表长度小于k,请返回一个长度为 0 的链表。” 意味着如果链表为空,那么直接返回None即可。然后结合示例1,继续分析: 首先创建两个指针,指向头部节点: 然后根据k值,移动first指...
Python3
剑指Offer
数组
双指针
切片规则
时间复杂度分析
2021-08-05
9
1099
题解 | #跳台阶#的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
首页
上一页
1
2
3
下一页
末页