hello__python
hello__python
全部文章
分类
题解(11)
归档
标签
去牛客网
登录
/
注册
hello__python的博客
全部文章
(共11篇)
字符串排序(python)
详见牛客官方题解思路以abc为例(个人理解):f(a,b,c)=af(b,c)+bf(a,c)+cf(b,a);f(b,c)=bf(c)+cf(b)=bc+cb;f(c)=c;发现:af(b,c)=abc+acb,ss通过调换相应位置的值,就可以实现以上想要的结果;f(b,c)不调换是bf(c),即...
2020-10-25
0
717
合并 k 个已排序的链表并将其作为一个已排序的链表返回。分析并描述其复杂度
思路:1比较两个链表得到新的有序链表;2比较新得到链表和第三个链表,以此类推; 本来想着用递归实现,但线上的IDE性能问题直接没有通过,可能是空间复杂度太大了,后面改用循环的方法 class ListNode: def __init__(self, x): self.val ...
2020-10-24
1
844
python递归
递归先序遍历判断当前节点是否为空,递归退出条件判断条件:叶子节点+和等于sum,返回真,否则返回左子树和右子树的或结果; # class TreeNode: # def __init__(self, x): # self.val = x # self.left...
2020-10-12
1
711
python3二叉树镜像(递归方法)
思路:将每一级的左右子树看成新的树,先递归完左子树,再递归右子树,返回反转后的子树的根。 # class TreeNode: # def __init__(self, x): # self.val = x # self.left = None # ...
2020-10-02
1
705
python3删除链表倒数的第n个节点
分如下两种情况:1 n=0(链表为空)或n=1(链表只有一个元素),直接返回None2 常规情况,两个游标,一个游标first_cur先走n步,然后两个游标first_cur/last_cur一起移动。需要注意当n=链表的长度时,即需要删除头节点时的情况。 # class ListNode: # ...
2020-09-30
2
885
python3反转链表
如牛客官方正规解法思路:1 声明三个变量,一个用来作为游标cur,一个用来存储下一个元素nex,一个用来表示新链表的头节点pre=None。2 轮询待反转的链表,先保存下一个元素;然后反转当前元素;最后移动至下一个需要反转的元素 # -*- coding:utf-8 -*- # class List...
2020-09-27
11
1581
python3常规算法+递归算法
1使用循环 #class ListNode: # def __init__(self, x): # self.val = x # self.next = None # # # @param l1 ListNode类 # @param l2 ListNod...
2020-09-06
0
744
python3暴力解法+常规解法
先进行快速排序得到有序序列,返回下标n-k即可 -- coding:utf-8 -- class Finder: def findKth(self, a, n, K): if n<=1: return a[0] a=self.fast_sort(a, 0, n-...
2020-09-06
12
1139
python3解法
思路:1初始化新列表l=l1或l2头节点值比较小的一个。2确定两个链表的游标,避免与初始化时形成重复,3判断当前值小的一个,加入新列表当中,并移动对应游标4循环重复步骤3 #class ListNode: # def __init__(self, x): # self.val...
2020-09-06
0
590
python3常规思路
利用字典存储和查询键值对;利用列表实现常用值更新:自定义规则,我这里是将最常用的放到末尾,最不常用的放到最前头位置。 # # lru design # @param operators int整型二维数组 the ops # @param k int整型 the k # @return int整型一...
2020-09-05
5
1782
首页
上一页
1
2
下一页
末页