不是江小白
不是江小白
全部文章
题解
CSS3(1)
Docker(2)
Git使用(2)
Leetcode题解(7)
MySQL(16)
Python(19)
Python图片识别(2)
小程序(2)
工具安装(11)
数据分析(8)
数据分析思维与实战23讲思维导图(1)
数据分析面试题汇总(4)
机器学习(10)
重整《数据分析实战45讲》(4)
归档
标签
去牛客网
登录
/
注册
不是江小白的博客
非典型 程序员
全部文章
/ 题解
(共8篇)
题解 | #牛牛打怪兽#的Python解法
来自专栏
1. 解题思路 首先注意题目描述里的几个关键点: “当使用这个组合拳的时候,打第X怪兽的时候,同时会打到第2X、2X+1这两个怪兽,每次组合拳会扣打到的怪兽一滴血。” 和“值得注意的是组合拳必须攻击三只怪兽。” 这两句话告诉我们,一套组合拳是要打在3个怪兽身上,而且只有奇数个怪兽的时候才会生效,怪...
Python3
递归
贪心算法
数组
2021-08-17
0
1232
题解 | #单词消消乐#的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. 解题思路 拿到这个题的第一反应就是使用min函数不就可以解决(暴力解法)?!于是输入如下代码。 2. 核心代码 # -*- coding:utf-8 -*- class Solution: def minNumberInRotateArray(self, rotateArray): ...
Python3
剑指Offer
数组
二分查找
时间复杂度分析
2021-08-10
8
1242
题解 | #链表中倒数最后k个结点#的Python解法
来自专栏
1. 解题思路 一般链表题,我们都可以考虑双指针的解题思路,此题同样可以。首先注意题目描述里这句👇“如果该链表长度小于k,请返回一个长度为 0 的链表。” 意味着如果链表为空,那么直接返回None即可。然后结合示例1,继续分析: 首先创建两个指针,指向头部节点: 然后根据k值,移动first指...
Python3
剑指Offer
数组
双指针
切片规则
时间复杂度分析
2021-08-05
9
1099
题解 | #斐波那契数列#的Python解法
来自专栏
1. 解题思路一 这道题如果很熟悉斐波拉契数列的定义(即 f(n)=f(n-1)+f(n−2)) ,那么用递归是最易懂的方法。但是递归的时间复杂度达到O(),且空间复杂度也有O(n);所以这并不是最优解。因此,很多朋友提到了动态规划的解法,可是很少有朋友解释为何可以用动态规划来解决?,下面,掌柜就从...
剑指Offer
Python3
动态规划
递归
斐波拉契数列
数组
2021-07-16
32
4006
题解 | #顺时针打印矩阵#的Python解法
来自专栏
1. 常规解题思路 此题一画出示例矩阵,就可以找到常规解题思路:找到四个角的边界,然后模拟路径遍历矩阵。 2. 核心代码: # -*- coding:utf-8 -*- class Solution: # matrix类型为二维列表,需要返回列表 def printMatrix(s...
剑指Offer
Python3
矩阵
数组
2021-07-08
19
1380
题解 | #构建乘积数组#的Python解法
来自专栏
1.思路 前提一开始掌柜拿到这题的时候还是有点懵逼的,后来一看示例就开始懂了。题目的三句话需要注意后面这两句话: “不能使用除法。”有朋友肯定会疑问?为何不可用除法?因为你去看示例后就知道,如果是除法,直接这题就变成B[i] = (A[0] * A[1] * ... *A[n-1]) / A[i...
剑指Offer
Python3
数组
2021-06-23
8
1041