Galaxy_Lee
Galaxy_Lee
全部文章
分类
题解(36)
归档
标签
去牛客网
登录
/
注册
Galaxy_Lee的博客
全部文章
(共47篇)
题解 | #寻找第K大#
偷个懒,Python这么强的功能,不用白不用hhhhhhhhh 硬是要写的话,快排完事~ # 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可 # # # @param a int整型一维数组 # @param n int整型 # @param K int整型 # @...
Python3
2022-03-14
0
176
题解 | #连续子数组的最大和#
解题思路: 这道题可以考虑使用动态规划来解决,为什么呢? 动态规划:最优子结构和重叠子问题。对于这道题来说,这两个性质都是满足的,首先大问题的最优解包含着小问题的最优解,然后子问题是大问题的小版本。 开辟一个dp列表用来实现状态转移方程 res最开始为列表的第一个元素,如果列表只有一个元素,返回就...
Python3
2022-03-14
0
247
题解 | #设计LRU缓存结构#
解题思路: 主要考察的是字典和列表的应用吧。。。 逻辑比较简单,复杂的点在于通过列表中元素的位置控制字典中键值对的位置 del dic[temp.pop(0)] - 解决字典删除第一个键值对的问题 temp.remove(key) temp.append(key) return di...
Python3
2022-03-14
0
204
题解 | #数组中只出现一次的两个数字#
解题思路: 还是hash方法,Python的字典能够很好的解决这件事情 用键值对来记录元素以及其出现的次数 # 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可 # # # @param array int整型一维数组 # @return int整型一维数组 # cl...
Python3
2022-03-14
2
225
题解 | #判断是不是二叉搜索树#
解题思路: 对于二叉搜索树来说,应该每个结点的值大于他的左子树的值,小于他的右子树的值 兵分两路走,然后在走的过程中不断的判断,这棵树满不满足二叉搜索树 return 递归函数:会一直往下面找,直到产生想要的那个结果 # def __init__(self, x): # ...
Python3
2022-03-13
0
211
题解 | #二叉树的后序遍历#
解题思路: 先序:根左右 中序:左根右 后续:左右根 根往列表里面加值,左右调用递归函数就行了 # def __init__(self, x): # self.val = x # self.left = None # self.right ...
Python3
2022-03-13
0
195
题解 | #判断是不是平衡二叉树#
解题思路: 感觉这道题要对递归的运行原理很熟悉才能看得懂 两个递归,从下往上的判断是否符合高度差不超过1 left, right会一直进递归,直到叶子结点return 0,解决了我初始值的困惑 # def __init__(self, x): # self.val = x...
Python3
2022-03-13
0
234
题解 | #寻找峰值#
解题思路: 办法比较笨,但是好处在于可以不放过这个一个死角 其实这段代码把所有的峰值都给找出来了,如果用一个for循环,碰到就return可能会省下一些时间 一定要把边界条件考虑清楚 说到底还是采用分执法,也算是递归的典型应用了,要是题目要求是找出所有峰值,那么这个解法就爽歪歪了 # 代码中的类...
Python3
2022-03-13
0
231
题解 | #链表的奇偶重排#
解题思路: 设置两个列表,分别保存链表中的奇数结点和偶数结点 直接根据链表中的值创建新节点,直到完成实现链表的奇偶重排 # def __init__(self, x): # self.val = x # self.next = None # # 代码中的类...
Python3
2022-03-11
0
204
题解 | #删除有序链表中重复的元素-I#
解题思路: 最开始我想用两个指针来解决这个问题,但是显而易见把事情搞复杂,一个指针就够了 猜测:因为Python的自动垃圾回收机制,所以不需要去free删除节点,毕竟如果我们用C的话,删掉的链表结点是需要free的 # def __init__(self, x): # s...
Python3
2022-03-11
0
195
首页
上一页
1
2
3
4
5
下一页
末页