Galaxy_Lee
Galaxy_Lee
全部文章
题解
归档
标签
去牛客网
登录
/
注册
Galaxy_Lee的博客
全部文章
/ 题解
(共36篇)
题解 | #最长公共子序列(一)#
解题思路: 经典dp了,考虑最长的公共子序列,不用连续,连续的话就直接截取一段看看在不在另一个字符串里 最开始初始化一个二维列表,用二维的原因是dp[i][j]为前面i个字符和前面j个字符的最长的公共子序列是多少 所以判断如果相等,最长的公共子序列应该是dp[i][j] = dp[i-1...
Python3
2022-03-16
0
260
题解 | #求平方根#
解题思路: 既然给了空间复杂度就要用起来,创建一个列表 对列表排序 根据列表创建链表 # def __init__(self, x): # self.val = x # self.next = None # # 代码中的类名、方法名、参数名已经指定,请勿修...
Python3
2022-03-16
0
301
题解 | #链表相加(二)#
解题思路: 可以把节点数据提取出来存在列表里然后去算,当然,喜提时间爆表 还是老老实实在走节点的过程中就加然后建立链表 注意进位的设置,卡我十分钟的点在于q = self.reverse(q)我忘了让指针回来了。。。 进位的筛选也很重要 最后返回一下链表的反转 当然逻辑并不复杂,看一遍代码就知道怎...
Python3
2022-03-15
0
240
题解 | #两个链表的第一个公共结点#
解题思路: 两个链表有长有短,先把长短确定下来 短的链表不动,长的链表往后面移,移它们的长度差 为什么要长的往后移呢? - 两个链表的的公共节点,顶天把短的整个作为公共链了,所以长链往后移 由于返回值需要的是一个链表,所以开辟一个新链,找到一个公共部分后链接上就行了 # def __in...
Python3
2022-03-15
0
216
题解 | #最长公共子串#
解题思路: 两种方法,但是动态规划的过不了,时间复杂度超了,思路是好思路 - 通过状态转移方程确定最大连续的长度是多少。看其他的java经验贴能过,应该是Python的锅吧,解释型的可能确实要慢一点 滑动截取子串法: 界定左界限left i是随着循环次数往后移的这个没问题,为什么left不用每次循...
Python3
2022-03-15
4
230
题解 | #删除链表的倒数第n个节点#
解题思路: 与其说删除链表的倒数第n个节点,不如说删除链表的第k-n个节点的下一个节点,k为链表长度 1 2 3 4 5 6 - 倒数第二个节点5,正好就是正数第6-2个节点的下一个 走到第k-n个节点,正好k-n.next = k-n.next.next就可以了 # def __ini...
Python3
2022-03-15
0
183
题解 | #有效括号序列#
解题思路: 非常经典的栈的使用案例 - 括号匹配,只不过这道题难度降低了很多 判断是左括号就入栈 碰到右括号的时候,从栈顶弹出一个元素,看右括号是否与栈顶元素的左括号匹配,不匹配就返回False 整个入栈出栈结束以后看栈内是否还有元素,还有元素就说明匹配失败 # 代码中的类名、方法名、参数名已经...
Python3
2022-03-15
7
499
题解 | #链表中环的入口结点#
解题思路: 一、 记录法:走过的路记录下来,如果再走到,说明就是环的起点。这个思想很好理解,但是这么做对思路提升的帮助不是很大。 二、 快慢指针法(双指针法): 进入while之后判断,如果链表会走到头,说明链表一定没有环,返回一个None就行了 分快慢两个指针,fast每次走2步,slow每次走...
Python3
2022-03-15
0
268
题解 | #合并两个有序的数组#
解题思路: 三种办法:1. 开辟一个新数组,空间复杂度O(n)。 2. 把B数组添加到A数组中,排序。 3. 类似于合并两个有序链表,设置两个指针,倒序插入元素 一共三个指针(这里的指针并不是真正的指向地址的指针,而是表示数组下标的风向标),a用来指数组A中的元素,b用来指数组B中的元素,tota...
Python3
2022-03-15
1
220
题解 | #寻找第K大#
偷个懒,Python这么强的功能,不用白不用hhhhhhhhh 硬是要写的话,快排完事~ # 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可 # # # @param a int整型一维数组 # @param n int整型 # @param K int整型 # @...
Python3
2022-03-14
0
176
首页
上一页
1
2
3
4
下一页
末页