Galaxy_Lee
Galaxy_Lee
全部文章
分类
题解(36)
归档
标签
去牛客网
登录
/
注册
Galaxy_Lee的博客
全部文章
(共47篇)
题解 | #判断一个链表是否为回文结构#
解题思路: 该题目最大的好处就在于 - 没有要求空间。那么就happy了,以空间换时间,百试不爽 设置一个列表,把链表中所有结点的值保存下来,然后逆切片看等不等 # def __init__(self, x): # self.val = x # self....
Python3
2022-03-11
0
185
题解 | #跳台阶#
解题思路: 可以递归解决,但是递归随便深度就超过了 用dp做这件事,状态转移方程找好 记忆化递归也可以考虑 手动人为的剪枝 # 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可 # # # @param number int整型 # @return int整型 # c...
Python3
2022-03-11
0
196
题解 | #二分查找-II#
解题思路: 还是二分查找 如果有重复的目标元素,只可能在找到的这个mid的左边,因此往左边去找就行了,唯一需要注意的就是不要超过了边界条件 # 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可 # # 如果目标值存在返回下标,否则返回 -1 # @param nums i...
Python3
2022-03-11
0
195
题解 | #判断链表中是否有环#
解题思路: 设置两个指针,一个fast一个slow 当slow或者fast出现None时,说明这个链表不存在环 fast在走的过程中不断的寻找slow,直到找到为止 # def __init__(self, x): # self.val = x # sel...
Python3
2022-03-11
0
211
题解 | #合并两个排序的链表#
解题思路: 设置一个头结点或者是待插入的链表 遍历那给出来的两个链表,遍历的过程中比较并且把链表的结点插入到待插入的链表中 两条链表长短不一,所以可能会有某一条先结束,因此在两条都进行比较以后需要再判断是否有某一条链表还有结点没加进去 # def __init__(self, x): #...
Python3
2022-03-11
0
292
题解 | #链表中的节点每k个一组翻转#
解题思路: 先抄后看,养成习惯 初始链表不体面,我们就帮他体面(设置头结点res) 看一下链表的总长度是多少 - i用来记录 链表三兄弟 - pre 、 q 、 r(前中后三个结点) 建议对着for循环里面的内容画一遍图,循环两次观察一下过程 心得体会:翻转链表可以考虑头插法来实现 给一个错误...
Python3
2022-03-10
0
215
题解 | #螺旋矩阵#
解题思路:\ 观察一下,螺旋数组其实是按圈走的,每一个圈的起始点都在对角线上(matrix[i][i]),但是一共有几个圈的起始点呢?如果是nn的那么就有n//2个起始点,如果是mn的那就是min(m*n)//2.如上图用圈画出来的起始点,这玩意还是自己画两个矩阵找找起始点比较好理解。 把圈数确...
Python3
2022-03-09
0
226
题解 | #旋转数组#
解题思路: 先把最简单的移动0位处理掉,移动0位直接返回原列表就行了 当移动位数超过列表长度的时候,需要取余,本题有n=6,m=7的情况,就以此为例:列表长度为6,移动7位则相当于移动一整轮多1位 m = m % n --- m = 7 % 6 最后m的值为1 把整个列表翻转一下,比如: [1,...
Python3
2022-03-09
0
215
题解 | #数组中出现次数超过一半的数字#
如果知道数据范围n且不限制时间空间复杂度的话可以定义一个长度为n的列表 使用HashMap的形式,也就是键值对的形式,一个键对应一个值 数据重复的时候就使用字典的形式,键对应着元素,值保存次数 # 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可 # # # @param...
Python3
哈希表
2022-03-09
0
281
题解 | #链表内指定区间反转#
解题思路: 链表的插入结点必须先链后断,否则结点会迷失在内存中 q -> NewNode q.next = p.next p.next = q 链表的指向必须有理有据,q.next一定要有现存的根据 对于链表的各种插入交换,不能战线拉太长考虑全局,也不能战线放太短就考虑一个或者两个结...
Python3
2022-03-09
0
276
首页
上一页
1
2
3
4
5
下一页
末页